felayman--javascript技巧小结

本文详细介绍了JavaScript中变量的定义、作用域、数据类型(包括undefined、null、boolean等),并阐述了如何合理使用变量及数据类型管理,通过实例展示了如何避免常见错误和优化代码效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**************************************该文档内容长期更新***********************************************/
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);//这样就错了。

 
 
 
 
 
 
 
 
 
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值