JS进阶四
一 对象的构成
1.创建对象: var cat={ } ,
cat=new Object() ,
Object.create()
第一种为常用字面量方法,
第三种为ES5方法,存在低版本的浏览器兼容问题。建议第一种; 2.修改对象中的属性值,用英文句号取出。也可设置新的属性。 cat.name="Tim" 或者cat[ "name"}="Tim" 两者相等。 cat.type="布偶猫'.. 若既不赋值也不创建新属性,用英文句号表示将其属性值读取。 3.删除对象属性: delete cat.type 表示删除cat的type属性。 4.检测对象属性是否存在,使用in方法: “name”in cat 表示“name”这个属性是否存在cat对象中,属性 in 对象 检测结果为 true || false 5.遍历对象属性:使用 for in for(var p in cat) //遍历对象属性 { console.log(p);//输出属性名; console.log(Obj.p);// return> 'p':XXX; 这不是我们希望的结果--表示属性名是p这个字符串,无法知道属性值 console.log(Obj[p]);// return > p:AAA; 这是我们想要的结果--现将p这个变量的值计算出来,然后再到变量中查找 } Obj.p 只能表示字符串 Obj[p] 功能更强大,甚至可以进行运算
二 函数
函数:作为参数使用。
fn是将函数本体传进去,fn()是将函数执行,直接得到函数运算结果
函数:可以作为返回值使用
1 function fn(){ 2 return function(){ 3 console.log(1) 4 }; 5 }
调用return后面的函数,fn()(); fn()得到的返回值是其内部的函数,再加()就是内部函数的调用
函数定义的三种方式
1.函数声明(用法最多, 推荐邮箱使用)
function fn(){};
2函数表达式
var fn=function(){};//(匿名函数)
//构造函数定义 (一般不建议使用,注意:语句后面的 ; ) var fn =new Function(){'num1','num2','return num1+num2;',};//构造函数
3自执行函数
(function(){})();
JS 与解析机制
1.把变量的声明提升到当前作用域的最前面,只提升声明,不赋值;
2.把函数的声明提升到当前作用域的最前面,只提升声明,不赋值;
3.向提升var,在提升function,
因此,我们在定义函数时,绝大多数都使用第一种方式(函数声明方式),匿名函数多用于定时器和DOM事件的时候。
函数的优点:
1.复用代码
2.提高维护性
3.增加可读性
什么时候使用函数? 1.统一修改和维护:当你的程序中有太多相似的代码时 2.当你的程序暴露了太多的细节,使它的可读性变差时![]()




浙公网安备 33010602011771号