javascript ECMAScript

作为一门语言,ECMAScript与其他语言类似,但ECMAScript是一门“若类型语言” 这也是它的一大特点。后面会讲。先上个栗子;

var num1 = 12;
var str = "javascrpt",bool=true,aa,obj={ };
num2 = 20;

变量

var  是ECMAScript的关留字,声明的变量名不能与关键留字和保留字一样。其他关键字保留字自行搜索。变量名区分大小写。第一个声明是单一声明,第二个是将多个声明写在一起。第三个也有效,但不推荐,没有使用 var 关键字的变量,会声明到window对象上。 引用变量要在声明之后进行。判断一个全局变量是否存在,最好判断window【变量名】,而不是直接判断变量名,全局变量是定义在window对象上的。确保不会报错。

数据类型

变量有了名字,也少不了值了,不赋值的变量,会被认为是Undefined类型。Null类型 Boolean类型 Number类型 String类型 Object类型 Undefined类型。这几种类型不再介绍。自行搜索,typeof操作符可以返回变量的数据类型、  console.log(typeof  num);会在控制台输出一个Number ;

操作符/语句

自行查看手册

函数

function myFn(a){
<span style="white-space:pre">	</span>var a = a;
}
function 是声明函数的关键字。函数名是 myFn,同变量名一样,a 是参数,可以在函数内引用。这里需要理解一下传参的传值类型。栗子

var a = 12;
function test(ags){
	ags=20;
}
test(a);//函数内改变a 值
alert(a);//输出 12  
这里栗子告诉我们,函数传参是值传递,而不是把变量直接拿进去用。下面再看一个栗子

var a = {num:12};
function test(ags){
	ags.num=20;
}
test(a);
alert(a.num);//20
这个也是值传递,没错!值传递,但是为什么a.num会被改变了呢,这就涉及到基本类型和引用类型。 基本类型如同变量  var a =12 ;赋值一样,a变量的值就是12。基本类型的数据类型有 Null类型 Boolean类型 String类型 Undefined类型 Number类型 这5种;引用类型的 有Object类型;Object类型的数据 值是一个内存地址,当需要使用的时候,就会根据内存地址找到相应的对象。这就是为什么a.num会被改变,因为内存地址被复制给了函数。他们改变的是同一个内存地址所指向的对象。理解这一点很重要。函数的参数对象arguments 包含了你传递给函数的所有参数的集合,你可以通过此对象来访问传递的参数。

明白了基本类型和引用类型,也要知道如何检测他们,对于基本类型, typeof就可以搞定,对于引用类型,则需要 instanceof来检测。

引用类型的 Array类型、Date类型 、RegExp类型、function类型、基本包装类型等概念不再阐述。对着书本念也没有意义。

先写到这里,下一节来说说ECMAScrip 5t的3大特性之 原型


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值