您的位置:首页 > Web前端 > JavaScript

[JavaScript高级程序设计]语法、数据类型和一些区别注意

2015-10-08 12:10 567 查看
一、严格模式

定义了一种不同的解析和执行模型,规范了不确定行为,对不安全行为进行错误抛出,包括以下四点:

-
消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
- 消除代码运行的一些不安全之处,保证代码运行的安全;
- 提高编译器效率,增加运行速度;
- 为未来新版本的Javascript做好铺垫。

具体可参考:阮一峰严格模式详解

二、语法语句

区分大小写、驼峰法命名、语句没有分号也有效,单行条件语句仍需加上{}

关键字:function if else break continue try cacth do while for if delete in等

保留字:abstract boolean byte int interface static等

变量:松散类型——可以用来保存任何值;var的使用使之成为局部变量,缺省则变量默认为全局变量;

三、数据类型

5中基本类型:Null Undefined Number Boolean String

1种复杂类型:Object

引用类型:Object Array Function Date RegExp 基本包装类型

四、类型区分

typeof操作符——五种基本数据类型,除了null,null被认为是一个空对象引用,返回object

instanceof ——instanceof其实是用来判断一个变量是否为某个对象的实例

constructor——可以返回对象相应的构造函数

具体可参考如下博文:点击打开链接

五、undefined、null辨析

一篇好博文,此处不重复造轮子了,阮一峰undefined和null的区别

六、一些区别、注意

Boolean类型只有两个字面值:true和false,而且这两个值跟数字值不是一回事,区分大小写

Number类型支持十进制、八进制(严格模式下无效)和十六进制表示;保存浮点数值的内存是整数的两倍,会发生转换

Number.MAX_VALUE、Number.NEGATIVE_INFINITY和Infinity

NaN——任何数值除以0返回NaN,NaN不等于NaN

数值转换:

Number()、parseInt()和parseFloat()

1、Number()转换规则

如果是数字值,简单传入和返回;

如果是布尔值,true-----1;false------0;

如果是null------0;

如果是undefined------NaN;

如果是字符串:

字符串中只含数字,则转换为十进制;

字符串中包含有效浮点格式,转换为浮点数;

字符串中包含十六进制,转换为十进制;

字符串是空,转换为0;

除以上以外,转换为NaN;

如果是对象,调用对象的valueOf方法,在按照前述规则转换;如果转换结果为NaN,则先调用对象的toString方法,再按照前述规则转换。

2、parseInt()——较为常用

看是否符合数值模式,它会忽略字符串前面的空格,直到找到第一个非空字符;解析直到遇到了一个非数字字符;

允许指定数值进制

Object类型

对象——一组数据和功能的集合;

var o = new Object();或者 new Object;

实例的属性和方法

constructor、hasOwnProperty()、isPropertyOf()、toLocaleString()、toString()、valueOf()

相等操作符

==和!= (先转换再比较)

===和!== (不转换)

<span style="font-size:18px;">null == undefined 返回true
null === undefined 返回false</span>
<span style="font-size:18px;">var result = ("55" == 55)   返回true</span>
<span style="font-size:18px;">var result = ("55" === 55)  返回false </span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: