JavaScript预解析,对象详解
2022-04-15 14:41:15 来源:易采站长站 作者:
目录
一、预解析1、变量预解析和函数预解析1、变量预解析2、函数预解析2、预解析案例二、对象1、创建对象的三种方式1、利用字面量创建对象2、利用new Object创建对象3、利用构造函数创建对象4、构造函数和对象2、new关键字3、遍历对象属性总结一、预解析
1、变量预解析和函数预解析
javascript 代码是由浏览器中的 javaScript 解析器来执行的。JavaScript 解析器在运行 JavaScript 代码的时候分为两步:预解析和代码执行。
预解析:在当前作用域下, js 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内存中进行提前声明或者定义。 代码执行: 从上到下执行JS语句。预解析只会发生在通过 var 定义的变量和 function 上。学习预解析能够让我们知道为什么在变量声明之前访问变量的值是 undefined,为什么在函数声明之前就可以调用函数。预解析也叫做变量、函数提升。
1、变量预解析
变量预解析: 变量的声明会被提升到当前作用域的最上面,变量的赋值不会提升。
例如:
/*先解析var变量num 然后执行console输出 最后把10赋给num*/console.log(num); // 结果是多少?var num = 10; // ?
2、函数预解析
函数预解析: 函数的声明会被提升到当前作用域的最上面,但是不会调用函数。
/*先解析fn函数的定义然后执行console语句*/console.log("1+2+3+...+100=",fn());function fn(){var s = 0;for(var i=1;i<=100;i++){s += i;}return s;}2、预解析案例
来做一个小练习,看一下输出的结果是多少?
console.log((a));var a = 1; console.log((a)); function a(){ return a; }结果为:
', sayStudy : function(){ console.log('好好学习啊'); }};
对象里面的属性调用 : 对象.属性名 ,这个小点 . 就理解为“ 的 ” 。例如:star.name
对象里面属性的另一种调用方式 : 对象[‘属性名'],注意方括号里面的属性必须加引号。例如:star['age']
2、利用new Object创建对象
和前面学习的new Array() 创建数组原理一致
var andy = new Object();andy.name = 'xl';andy.age = 18;andy.sex = '女';andy.sayStudy = function(){ console.log('好好学习啊');} Object() :第一个字母大写 new Object() :需要 attack;}var lianpo = new Hero('廉颇','力量型','500血量','近战');var houyi = new Hero('后羿','射手型','100血量','远程');
for(k in lianpo){ console.log(lianpo[k]);}
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!













闽公网安备 35020302000061号