标签:
EMCA-262通过叫做ECMAScript的“伪语言”为我们描述了javascript实现的基本概念
javascript借鉴了C的语法,区分大小写,标示符以字母、下划线、或美元符号($)开头,注释可以用 // 或者/* */
严格模式:
ECMAScript 5引入了严格模式,在严格模式下不确定的行为将得到处理,通过在顶部添加 “use strict”来启用严格模式:
function fuc(){ "use strict";
//函数体 }这行代码是一个编译提示,告诉支持javascript的引擎切换到严格模式。
变量:
ECMAScript的类型是松散类型的,可以保存任何类型的数据
通过使用var来声明变量:
var message, num. str;
当省略var关键词时,自动创建全局变量。
数据类型:
六种数据类型
1、Undefined
2、Null
3、Boolean
4、Number
5、String
6、Object(一组无序的名值对组成)
操作符:typeof 注意不是函数,可用于变量或者数值字面量。
Undefined:
Undefined类型只有一个值,即特殊的undefined,
当变量定义未初始化时,其值为undefined。var test; typeof test == "undefined" //true
对未声明的变量执行typeof操作时也会返回undefined
Null:
Null类型的值为null,表示一个空对象指针,
undefined值派生自null值.typeof null == ‘object‘;
如果定义的变量准备在将来用于保存对象,最好将变量初始化为null,而不是其他值,
这样只要检测是否是null值就可以知道变量是否已经保存一个对象的引用。
Boolean:
Boolean类型,值为true 和 false,区分大小写。
任意一个数据类型要转换成Boolean只需调用转型函数Boolean()var msg = "hello"; var msgToBool = Boolean(msg); //true
数据类型 转换为true 转换为false Boolean true false String 非空字符串 ""空字符串 Number 非零数字 0和NaN Object 任何对象 null Undefined 不适用 undefined
控制留语句(if)自动执行相关的Boolean转换。
Number:
用IEEE754来表示整数和浮点数值,
var intNum = 55 //整数 var octNum = 020 //八进制在严格模式下无效,抛出错误 var hexNum = 0xa //十六进制 算数运算时都转化为十进制数值。数值范围 Number,MIN_VALUE; Number.MAX_VALUE ; 超过范围则返回Inifinity,不能参与运算。
NaN
非数值(Not a Number)是一个特殊的数值,这个数值用于一个本来要返回数值的操作数未返回数值的情况。例如:ECMAScript中任何数值除0会返回NaN.函数isNaN(),确定参数是否“不是数值”;
isNaN(NaN) //true isNaN("10") //false 转化为10
isNaN("blue") //true数值转换
var num = parentInt("1234blue"); //1234 var num = parentInt("") //NaN var num = parentInt("0xa") //10 var num = parentInr(22.5) //22 var num = parentInt("070") //56 var num = parentInt("70") //70 解析八进制时ECMAScript 3 和 ECMAScript 5存在分歧 var num = parentInt("070") //56 ECMAScript 3 var num = parentInt("070") //70 ECMAScript 5 第二个参数指定基数 var num = parentInt("AF", 16) //175 var num = parentInt("AF"); //NaN
parentFloat()只转换10进制。
标签:
原文地址:http://www.cnblogs.com/yangxunwu1992/p/4769835.html