1.02 JavaScript基本语法
(1)标识符
指JavaScript中定义的符号,如变量、函数、数组等。
☞ ECMAScript的标识符由字母、数字、下划线、美元符号组成。但不能以数字 开头。
不能是ECMAScript规定的保留字和关键字。
☞ ECMAScript的标识符建议采用驼峰大小写格式。如myCar,testString,
doSomethingImportant。
☞ ECMAScript中的一切(变量、函数、操作符等)严格区分大小写。 而函数名不能使
用typeof,因为它是一个关键字。
(2)注释
JavaScript使用C语言风格的注释,包括单行注释和块级注释。
☞ 单行注释: //这是单行注释
☞ 块级注释:
/*
这里是多行
块级注释
*/
(3)严格模式
ECMAScript5引入严格模式(strict mode)
“use strict”在整个脚本中启用严格模式
function (){
“use strict”
//在函数体中启用严格模式
}
(4)语句
☞ JavaScript中的语句以一个分号(;)结尾,如果省略分号,则把换行看成是语句的结尾。强烈建议在每行语句的末尾加上一个分号,以增强程序的可读性。
☞ 代码块的使用:代码块以左花括号({)开头,以右花括号(})结尾。

1.02 关键字和保留字
-
正在使用的关键字

-
未来保留的关键字

第5版把在非严格模式下运行的保留字缩减为下列这些:
class enum extends super const export import在严格模式下,第5版 还对以下保留字施加了限制
implements package public interface private static let protected yieldlet 和 yield 是第5版新增的保留字;其他的保留字都是第三版定义的。
1.03 变量
-
ECMAScript的变量是松散类型的,它可以用来保存任何类型的数据。
-
变量声明
在JavaScript中,可以使用var关键字来声明变量,由于JavaScript是一种弱类型的脚本语言,变量还可以在不声明的情况下直接使用。但是,使用var关键字显示地声明变量,可以提高程序的可读性。因此,在JavaScript中做变量声明时,最好使用var显示地声明。
-
变量声明方式:
☞ 一次声明一个变量,只声明不给变量赋初始值。如:var str; ☞ 一次声明一个变量,同时给变量赋值。如:var size=0; ☞ 一次声明多个变量,只声明不赋初始值。如 var str,size,height; ☞ 一次声明多个变量,同时给变量赋值。如var size=0,str=“hello”,height=80; -
变量的作用域:
☞ 在JavaScript中,用var操作符定义的变量将成为定义该变量的作用域中的局部变量。 ☞ 要创建一个全局变量,可以省略var操作符。
1.04 数据类型
-
JavaScript中的数据类型分为两种:基本数据类型和引用数据类型(对象)。
☞基本数据类型:基本数据类型变量的值存储在栈中,即直接存储在变量访问的位置。 ☞ 引用数据类型:引用类型类型的变量存储在栈中,但它的值是存储在堆中的对象。 即存储在变量处的值是一个指针,指向存储对象的堆内存处。 -
ECMAScript中的基本数据类型有5种:Undefined、Null、Boolean、Number和String。
☞ Undefined类型:Undefined类型只有一个值,那就是undefined。在使用var 声明变量但未对其初始化是,变量的值就是undefined。它从null派生而来, ECMA-262规定对它们的相等性测试要返回true。例题2-3.html

☞ Null类型:Null类型也只有一个值,这个值是null。从逻辑角度看,null值表示 一个空对象指针(或者说,它表示一个还不存在的对象,可以看成是对象的占位符)。 ☞ Boolean类型:该类型有两个值,true和false。0表示false,非0表示true。要将一个值转换成对应的Boolean值,可以调用转型函数Boolean()。在实际使用中,JavaScript也会按以下规则自动转换:例题2-4.html

☞ Number类型:数值类型有整数和浮点数。 ☃ 整数的形式有: 十进制整数:如 55,86 八进制整数:如 072,056 (第一位必须是0,符合为0~7) 十六进制整数:如 0xA,0x1f (前两位必须是0x,符号为0~9及A~F) ☃ 浮点数的形式有: 带小数的数:如1.25,85.6 科学计数法表示的数:如3.125e7,3e-7 ☃ 数值范围:ECMAScript能够表示的最大值和最小值如下: 最大数值:1.7976931348623157e+308,保存在Number.MAX_VALUE中。 最小数值:5e-324,保存在Number.MIN_VALUE中。 *超出这个范围的数值将被自动转换成正无穷Infinity(保存在Number.NEGATIVE_INFINITY中)和负无穷-Infinity(保存在Number.POSITIVE_INFINITY中)。 *isFinite()函数可以用来测定一个数是否介于正无穷和负无穷之间。 ☃ NaN:它是一个特殊的数值,是非数值(Not a Number)的缩写。它用来表示一个本来要返回数值得操作数未返回数值得情况,减少错误的抛出。isNaN()函数可以帮我们测定某个表达式的结果是否“不是数值”。 ☃ 数值转换:有三个函数可以把非数值转换成数值Number():可用于任何数据类型。转换规则:
1、Boolean值:true->1 false->0 2、数字值:作简单的传入和返回。 3、null值:返回0。 4、undefined:返回NaN。 5、字符串: a、只包含数字:转换成10进制整数(忽略前面的0) b、包含有效的浮点格式:转换成对应的浮点值 c、包含有效的十六进制格式:转换成十进制整数 d、空字符串:转换成0 e、其余的转换成NaN
NaN,即非数值(Not a number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。
☃ 数值转换:有三个函数可以把非数值转换成数值
parseInt():专门用于把字符串转换成数值,主要用于处理整数型字符串。它会忽略字
符串前面的空格,直至找到第一个非空格字符,如果第一个字符不数字或负号,
parseInt()就会返回NaN;如果第一个字符是数字,parseInt()会继续解析第二
个字符直到解析完所有后续字符或遇到了一个非数字字符。
parseFloat():专门用于把字符串转换成数值,主要用于处理浮点数字符串。它从第一
个字符开始解析每个字符,而且一直解析到字符串末尾,或者遇到一个无效的浮点数
字字符为止。从第二个小数点开始,它后面的字符串将被忽略;parseInt()忽略前
导的0,并且这解析十进制值,十六进制格式的字符串始终会被转换成0。
☞ String类型:用单引号(‘’)或双引号(“”)引起来的若干个字符。在JavaScritp
中,单引号和双引号引起来的字符串没有任何区别。
☞ String类型:用单引号(‘’)或双引号(“”)引起来的若干个字符。在JavaScritp
中,单引号和双引号引起来的字符串没有任何区别。
☞ String类型:用单引号(‘’)或双引号(“”)引起来的若干个字符。在JavaScritp
中,单引号和双引号引起来的字符串没有任何区别。

☃ 任何字符串的长度都可以通过访问其length属性获得。如var str=“hello world!”; alert(str.length);
☃ 字符串转换:要将一个值转换为字符串,有两种方式
1、使用toString()方法:数值类型、布尔类型、对象类型和字符串类型都有toString()
方法,但null和undefined值没有这个方法。另外,在调用数值的toString()方法时,
还可以传递一个参数:输出数值的基数。
2、在不知道要转换的值是不是null或undefined的情况下,可以使用转型函数String(),
这个函数能将任何类型的值转换为字符串。其转换规则是:如果值有toString()方法,
则调用该方法;如果只是null,则返回“null”;如果只是undefined,则返回“undefined”。
字符串的特点:
ECMAScript中的字符串是不可变的。字符串一旦创建,它们的值就不能改变。要改变某
个变量保存的字符串,首先要销毁原来的字符串。
typeof 操作符:
检测变量的数据类型。对一个值使用typeof操作符可能返回下列字符串:
☞ “undefined”—如果这个值未定义
☞ “boolean”—如果这个值是布尔值
☞ “string”—如果这个值是字符串
☞ “number”—如果这个值是数值
☞ “object”—如果这个值是对象或null
☞ “function”—如果这个值是函数
1.05 操作符
-
算术操作符

-
字符串操作符
JavaScript的字符串操作符只有一个,那就是“+”。用于把文本值或字符串变量连接起来。
如:text=“Hello”+“World”;
或 text1=“Hello”;
text2=“World”;
text=text1+text2;
- 关系操作符

- 等性操作符

- 逻辑操作符

- 赋值操作符

- 位操作符

- 其他操作符
☞ 条件操作符(?:):是JavaScript中唯一的三元操作符。用法如下:
max=(num1>num2)?num1:num2;
等价于:
if(num1>num2){
max=num1;
}else{
max=num2;
}
☞ typeof操作符:检测变量数据类型。(详见第19张幻灯片)
☞ new操作符:用于创建一个新对象。
如:var d=new Date();
var o=new Object();
☞ delete操作符:用于删除变量或对象的属性。(JavaScript的核心对象和属性以及用var关键字声明的变量是不能删除的)
如: y=6; delete y;
var x=3; delete x; //不能删除
☞ void操作符:在JavaScript中,void是一个特殊的操作符,它可以用在任何表达式之前,是表达式的返回值为undefined。
如:var str=“Hello”;
alert(void str); //输出undefined
☞ 逗号操作符:使用逗号操作符可以在一条语句中执行多个操作。逗号操作符多用于声明多个变量,但也可以用于赋值。
如: var num1=1,num2=2,num3=3;
var num=(5,1,4,8,0); //num的值为0
本文深入探讨JavaScript的基本语法,涵盖标识符、注释、严格模式、变量声明与作用域、数据类型及其转换、操作符等内容,是初学者和进阶者的必备指南。

被折叠的 条评论
为什么被折叠?



