javaScript高级程序设计学习笔记(3上)

来源:互联网 发布:马六甲 知乎 编辑:程序博客网 时间:2024/05/15 11:09
1.语法 
(1)区分大小写;
(2)标识符:就是指变量、函数、属性的名字,或者函数的参数。
要求:第一个字符必须是一个字母、下划线(_)或一个美元符号($),其他字符可以是字母、下划线、美元符号或数字。按照惯例,标识符采用驼峰大小写格式。
(3)注释:,包括单行注释和块级注释。单行注释以两个斜杠开头,块级注释以一个斜杠和一个星号(/*)开头,以一个星号和一个斜杠(*/)结尾。
(4)严格模式:为JavaScript 定义了一种不同的解析与执行模型。
要在整个脚本中启用严格模式,可以在顶部添加如下代码:
"use strict";
也可以指定函数在严格模式下执行:
function doSomething(){
"use strict";
//函数体
}
(5)语句:以一个分号结尾,一般不要省略。
2.保留字
3.变量
ECMAScript 的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。
注意:用var 操作符定义的变量将成为定义该变量的作用域中的局部变量。
4.数据类型
ECMAScript 中有5 种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。。还有1 种复杂数据类型——Object,,Object 本质上是由一组无序的名值对组成的。
(1)typeof操作符:检测给定变量的数据类型。
(2)Undefined类型:只有一个值,即特殊的undefined。
    注意:变量声明和未声明使用typeof的结果都是undefined。因此,建议显式地初始化变量,那么当typeof 操作符返回"undefined"值时,我们就知道被检测的变量还没有被声明,而不是尚未初始化。
(3)Null类型:只有一个值的数据类型,这个特殊的值是null。
    null 值表示一个空对象指针,使用typeof时会返回object.
(4)Boolean类型:该类型只有两个字面值:true 和false。
    注意:Boolean 类型的字面值true 和false 是区分大小写的。也就是说,True 和False
(以及其他的混合大小写形式)都不是Boolean 值,只是标识符。
    要将一个值转换为其对应的Boolean 值,可以调用转型函数Boolean(),如下例所示:
    var message = "Hello world!";
    var messageAsBoolean = Boolean(message);



(5)Number类型:表示整数和浮点数。
a.浮点数:该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。
注意:永远不要测试某个特定的浮点数值。比如:
if (a + b == 0.3){ // 不要做这样的测试!结果是0.30000000000000004
alert("You got 0.3.");
}
b.数值范围:
ECMAScript 能够表示的最小数值保存在Number.MIN_VALUE 中——在大多数浏览器中,这个值是5e-324;能够表示的最大数值保存在Number.MAX_VALUE 中——在大多数浏览器中,这个值是1.7976931348623157e+308。超出JavaScript 数值范围的值,那么这个数值将被自动转换成特殊的Infinity 值。有-Infinity(负无穷)和Infinity(正无穷)两个值。
要想确定一个数值是不是有穷的(换句话说,是不是位于最小和最大的数值之间),可以使用isFinite()函数。
c.NaN
NaN,即非数值(Not a Number)是一个特殊的数值.

需要注意:

<1>在ECMAScript 中,任何数值除以0 会返回NaN,因此不会影响其他代码的执行.

<2>任何涉及NaN 的操作(例如NaN/10)都会返回NaN;

<3>NaN 与任何值都不相等,包括NaN 本身.

isNaN()函数:判断参数是否“不是数值”。
alert(isNaN(NaN)); //true
alert(isNaN(10)); //false(10 是一个数值)
alert(isNaN("10")); //false(可以被转换成数值10)
alert(isNaN("blue")); //true(不能转换成数值)
alert(isNaN(true)); //false(可以被转换成数值1)
d.数值转换
有3 个函数可以把非数值转换为数值:Number()、parseInt()和parseFloat()。第一个函数,
即转型函数Number()可以用于任何数据类型,而另两个函数则专门用于把字符串转换成数值。
(6)String类型:
a.字符字面量(转义字符)
b.字符串的特点
ECMAScript 中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变.
c.转换为字符串
要把一个值转换为一个字符串有两种方式,一是toString()方法,不适用于null和undefined,在不知道要转换的值是不是null 或undefined 的情况下,还可以使用第二种方式即使用转型函数String().
(7)Object类型
ECMAScript 中的对象其实就是一组数据和功能的集合.
Object 的每个实例都具有下列属性和方法。
 constructor:保存着用于创建当前对象的函数。对于前面的例子而言,构造函数(constructor)就是Object()。
 hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例
的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例
如:o.hasOwnProperty("name"))。
 isPrototypeOf(object):用于检查传入的对象是否是传入对象的原型(第5 章将讨论原
型)。
 propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in 语句
(本章后面将会讨论)来枚举。与hasOwnProperty()方法一样,作为参数的属性名必须以字符
串形式指定。
 toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。
 toString():返回对象的字符串表示。
 valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值
相同。

0 0