第三章:基本概念
ECMAscript中的一切(变量,函数名和操作符)都区分大小写。
使用c语言风格注释:// or /*。。。。。*/。
标识符的组成:
第一个字符必须是一个字母,下划线_或者美元符号$。
其他字符可以是字母,数字,下划线和美元符号。
变量:
ECMAscript的变量是松散类型,定义变量时是使用var操作符。
未初始化变量会保存一个特殊的值——undifined。
省略var操作符可以定义全局变量(不推荐)。
数据类型:typeof操作符检测变量的数据类型。
undifined:如果这个变量未初始化或者未声明。
boolean:转型函数Boolean():对任何数据类型调用都能返回一个boolean值。
string:由零个或多个16位的Unicode字符组成的字符序列。可以由双引号“或者单引号‘表示。
string.length记录字符串长度。
任何变量的toString()方法返回字符串。(null和undifined没有该方法)
转型函数String()可以将任何类型值转换为字符串。调用toString()方法;null则返回”null“;undifined则返回”undifined“
number:
可以保存+0与-0,被认为相等。
浮点数值的最高精度是17位,所以其精确度会有偏差,例如0.1+0.2=0.300000000000000004,所以不要测试特定的浮点数。
内存限制所以数值只能在(Number.MIN_VALUE,Number.MAX_VALUE)之间,超出为Infinity(正无穷)或-Infinity负无穷。用isFinite()检测!!
NaN(not a number):表示一个本来要返回数值的操作数未返回数值的情况。例如,任何数除以0,返回NaN。
任何涉及NaN的操作都返回NaN;NaN与任何值都不想等,包括NaN本身;
isNaN()函数检测:
isNaN(字符串)返回true,因为字符串无法转化为数值)
该函数适用于对象,先调用对象的valueOf()方法,然后确定该方法返回的值是否可以转换为数值。
数值转换:
Number():
boolean:true为1;false为0 null为0 undifined为NaN string:有正常格式之外的为NaN
对象:调用valueOf()方法,如果为NaN,继续调用对象的toString()方法。
parseInt():可以添加第二个参数指定第一个变量的基数。
找到第一个非空格字符,如果不是数字符号或者符号,返回NaN(对空字符串返回NaN);直到解析完所有的后续字符或者遇到以恶非数字字符。
parseFloat():同上,但只能解析十进制数。
object:如果值是对象或null(当预留变量时应该明确赋值为null)。
var o= new Object();//如果传递参数,可以省略括号(不推荐)
Object每个实例都具有下列属性和方法:
Constructor:保存着用于创建当前对象的函数。
hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。
isPropertyOf(object):用于检查传入的对象是否是另一个对象的原型。
propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。
toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。
toString():返回对象的字符串表示。
valueOf():返回对象的字符串,数值或布尔值表示,通常和toString()方法的返回值相同。
function:这个值是函数。
操作符:
一元操作符:前置后置自增自减操作符:++x --x x++ x-- 一元加减运算符:+x -x
位操作符:按位非:~x 按位与:x&y 按位或:x|y 按位异或:x^y 左移:x<<n 有符号右移:x>>n 无符号右移:x>>>n
布尔值操作:逻辑非:!x 逻辑与:x&&y 逻辑或:x||y
乘性操作符:乘法x*y 除法x/y 求模x%y
加性操作符:加法(可用于数值和字符串拼接) 减法
关系操作符:小于 大于 小于等于 大于等于(可用于数值和字符串)
相等操作符:相等== 不想等!=(类型不相同先转换) 全等=== 不全等!==(不转换类型)
条件操作符:?:
赋值操作符:=
逗号操作符:,
语句:
if()语句 do...while()语句 while()语句 for()语句 for(in)语句 label语句(在代码中添加标签) with()语句 switch()语句
函数:
function 函数名(参数列表){函数体}
ECMAscript函数不介意传递进来多少个参数,也不介意传递进来的参数的数据类型。because:ECMAscript中的参数在内部是用一个数组表示的,在函数体内部可以通过arguments对象来访问参数数组。
没有重载
posted on 2015-12-06 00:00 heart_Craft 阅读(117) 评论(0) 编辑 收藏 举报