felayman--javascript技巧小结

xiaoxiao2021-03-01  19

/**************************************该文档内容长期更新***********************************************/ 1.由于浏览器对于解析js不同数据类型之间的差异,不建议对同一个变量进行反复换数据类型 如 var message="felayman"; 如下操作不建议: message=100; message=99.9; message=false; messsage = null; 这样做会增加浏览器解析成本,而且更改次数多了,会不利于开发。 因此建议,变量最好只保持一种数据类型。 如下面操作: var message="hello": message="wolrd": message="helloworld"; 2.在定义变量的时候我们要注意作用域 如: //全局变量 function fun(){ message="hello": //全局变量,函数结束后不会销毁该变量 } fun(); alert(message);//依然会谭吹message //局部变量 function fun(){ var message="hello"; } fun(); alert();//什么都不会弹出,因为该变量在函数结束后被销毁 3.变量的定义方法和c,java一样的方式定义,即在一个var关键字后定义多个变量 如: var name1,name2,name3,....; 或者 var name1="name1", name2="name2" ................... namen="namen"; 4.搞清楚js的六种数据类型 @1 undefined 就是在定义某个变量后没有为其赋值 如: var message; alert(message==undefined);//会弹出ture @2 NULL 不能误解为'',一般是指定某个变量的值为null,或者null空对象 如: var obj=null; alert(obj); 或者 var obj=null; alert(typeof obj);//会弹出object @3 boolean 该值表示true或false 表示true的情况: 1.true本身 var bool=true; if(bool) alert(bool); 2.非空字符串 var str = "hi"; if(str) alert(str); 3.非零数字 var str = -1; if(str) alert(str); 4.对象(非null对象) var str = new String("hello"); if(str) alert(str); 5.js里创建对象的三种方式 @1: 普通的面向对象的思想来创建对象 var obj1 = new Object(); obj1.name="felayman": obj1.age=22; obj1.hobby="篮球"; alert(obj1.name+obj1.age+obj1.hobby); @2:利用JSON格式来创建对象 var obj2 ={ name:"felayman", age:23, hobby:"足球" }; alert(obj2.name+obj2.age+obj2.hobby); @3:直接这么写 var obj = {};//等效于var obj = new Object(); obj.name="felayman"; alert(obj); @4:对象的可复制性 var obj3 = obj2; alert(obj3);//属性和obj2一样 下面给出一个经典案例:要求是对于传入不同的参数,会给出不同的输出 function displayInfo(args){ var output=''; if(typeof args.name=="string"){ output +="name:"+args.name+"\n"; } if(typeof args.age=="number"){ output +="age:"+args.age+"\n"; } alert(output); } displayInfo({ name:"felayman", age:22 }); displayInfo({ name:"felay" }); 这样就有点向java了,传入的不是单纯的数据类型了,而是一个复杂的对象了,通过将 对象传入到函数的参数中,我们就可以对该参数对象的属性进行操作了。同时这也是现在对于数据 传输的最好方式,可以通过对象的封装进行大量数据的传输了。 当获取到对象参数时,我们可以通过两种方式来获取其属性 @1:args['name'] @2:args.name 这两种方式都可以获取到我们想要的参数。,一般的书籍会说这两种方式没有区别,但是还是有一个小的区别 如:一个属性中含有空格的时候,就只能通过[]来获取了。 var obj = {}; obj['first name']="felayman"; alert(obj['first name']);//会弹出felayman alert(obj.first name);//这样就错了。
转载请注明原文地址: https://www.6miu.com/read-4050329.html

最新回复(0)