首页 > 代码库 > 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的值
Booleantruefalse
String任何非空字符串空字符串
Number任何非0数值(包括无穷大)0或Nan
Object任何对象null
UndefinedN/A(不实用)Undefined

 

JavaScript基本概念