首页 > 代码库 > JavaScript基本概念
JavaScript基本概念
概述
JavaScript是通过ECMAScript伪语言进行描述的,ECMA-262第3版是目前浏览器实现最多的版本,第5版是未来浏览器要实现的版本
语法风格
Javascript语法风格类C语言,区分大小写
标识符
标识符即变量、函数、属性的名字而已,Javascript中标识符的命名规则如下:
① 首字符必须是字母或下划线或美元符号
② 其他字符可以是字母、下划线、美元符号
③ 标识符采用驼峰大小写格式,即第一个字母小写,其他每个有意义单词的首字母大写,例如firstChar
注释方法
由于Javascript语言类C,所以,它也使用C语言注释风格,包括单行注释和多行注释
1 //单行注释2 3 /*多行注释4 5 6 */
严格模式
ECMAScript在第5版中引入了严格模式。在严格模式下,Javascript将执行一种不同的解析与执行模型,之前的一些不确定行为将得到处理或错误提示。可以在整个脚本中使用严格模式,亦可以在指定的函数中使用严格模式,只需要将"use strict" 放在它们的前面即可
变量
根据ECMA-262定义,Javascript的变量是弱类型的,它只是在特定时间用于保存特定值的一个名字而已。变量的值及其数据类型都可能在执行过程中改变,即Javascript中的变量可以用来保存任何类型的数据,变量的定义格式:
1 var someValue; //未经初始化,默认保存了undefined值2 var messages="Hello World!"; //定义变量,并直接初始化为Hello World!3 var messages=120; //更改变量的值和类型
PS:使用var操作符定义的变量属于局部变量
变量类型
ECMAScript变量的值分两种类型:基本类型值和引用类型值
基本类型值:简单的数据段
引用类型值:由多个值构成的对象
存储基本类型值的数据类型有:Undefined、Null、Boolean、Number、String
PS:JavaScript不支持任何自定义类型
基本类型值和引用类型值的区别:
①引用类型值可以动态的添加属性,而基本类型值则不可以
②基本类型值复制时是创建新的副本进行赋值,而引用类型值复制的是一个指针,还是指向原来的值
③在给函数传递参数时,赋值方式与变量赋值原理相同
检测类型
因为Javascript是松散类型的,所以需要一种机制来检测给定变量的类型,检测方法有两种:
基本类型检测用typeof操作符
引用类型检测用instanceof操作符
undefined类型
undefined类型,只有一个值即undefined,在使用var定义变量但不初始化时候,这个变量默认值就是undefined值。需要注意的是包含undefined值的变量与尚未定义的变量是不一样的。对于尚未定义的变量只能进行一项操作,即使用typeof操作来检测其类型,但是对于尚未定义的变量和未初始化的变量执行typeof操作符,它们返回的结果是一样的,都是undefined值
null类型
null类型,也只有一个值,即null。从逻辑上讲null值表示一个空对象指针。所以检测它类型时返回"object"
var car=null; alert(typeof car);
如果定义的变量,将来用于存储对象,最好将它初始化为null
boolean类型
boolean类型是Javascript中使用最多的一种类型,它只有两个值:true和false,但它们不一定等于1和0
虽然boolean类型只有两个值,但是JavaScript中的所有类型都可以与这个两个值进行转换后等价,可以调用转型函数来完成
可以对任何数据类型的值调用转型函数Boolean(),返回结果取决于要转型的数据类型和实际值,规则如下:
数据类型 | 转换为true的值 | 转换为false的值 |
Boolean | true | false |
String | 任何非空字符串 | 空字符串 |
Number | 任何非0数值(包括无穷大) | 0或Nan |
Object | 任何对象 | null |
Undefined | N/A(不实用) | Undefined |
JavaScript基本概念