《Javascript权威指南》学习笔记二之变量

一、变量的数据类型
1、简单数据类型:Boolean/String/NumberUndefined/Null

在Javascript的简单数据类型中,有两个特别的类型:Undefined和Null,二者均只有一个值,分别是undefined和null(区分大小写),具体说明详见下文的常量部分。


2、复杂数据类型:常见的有两种,Array(数组)和Object(对象)。


2.1 在JavaScript中,不能直接声明二维等多维数组,但是可以通过嵌套实现,以声明二维数组为例,常见方式有:
  2.1.1  var arr1 = new Array(); arr1[0] = new Array();
  2.1.2  var arr2 = new Array([1,2,3],new Array([4,5,6));

  2.1.3  var arr3 = [[1,2],[3,4]];


2.2 Object是属性集合,属性用于描述对象特性。属性值可以是任何Javascript数据类型,包括对象。
var user  = new Object();
user.name = "zahng";
user.age=20;

上述定义了一个user对象,并给user的name和age属性赋值。


二、变量的声明

1、在Javascript中,使用var声明变量:var 变量名;Javascript是无类型语言,在声明时不需要指定变量的数据类型,Javascript会自动转换。(变量名区分的大小写,在非严格模式下,var可以省略)


2、Javascript变量命名规范
2.1 第一个字符必须是字母、下划线或美元符
2.2 后跟任意的字母、数字、美元符和下划线,也可以是unicode字符(包括中文)

2.3 不能是关键字或逻辑常量(true/flase/null/undefined),且在作用范围内必须唯一


三、常量
1、null常量:表示某个变量或属性未赋值。常见情况:
1.1 表示变量存在,蛋不需要定义值或未赋值:var ex1 = null;var ex2;
  1.2 表示函数没有返回值:function getInfo(){return null;}
1.3 表示调用函数或方法,省略一个参数。

1.4 表示动态对象的属性值,当没有初始化,其值为null


2、undefined常量:表示未初始化的变量或动态对象属性。作用于不同类型时,返回值不同
String(undefined)返回字符串"undefined";
Number(undefined)返回"NaN";

Object(undefined)返回新的Object实例


3、null常量和undefined常量的比较
3.1 使用==和===比较null和undefined,返回值不同
nul == undefined返回true,null === undefined返回false.
  3.2 概念的比较
var info = new Object; info.mes; alert(info.mes == null);  //返回true
var user = new Object;alert(user,sex);  //返回undefined,sex属性没有初始化,null是针对动态对象属性,而Object是非动态属性


四、ECMAScript的严格模式
1、使用严格模式
在全局范围或者函数内部(局部范围)使用严格模式,只需在脚本代码的第一行添加:"use strict";就可以在ECMAScript的严格模式的编程
2、严格模式下的特定要求
2.1 必须使用var关键字声明变量。
2.2 对象的属性名必须唯一且不同定义相同属性
2.3 函数中不同有同名参数且arguments数组的属性是只读的
2.4 eval成为i保留的关键字
2.5 with语句被抛弃,且不支持八进制数字
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值