区分大小写html
js中的一切,包括变量、函数名和操做符都区分大小写。例如text和Text属于不一样的变量。函数
标识符编码
标识符是指变量、函数、属性的名字,或者函数的参数。标识符可spa
以是下列各式规则组合起来的一个或者多个字符:指针
1.第一个字符必须是字母、下划线或者美圆符号。code
2.其余字符能够是字母、下划线、美圆符号或者数字。htm
3.不能把关键字、保留字、true、flase、和null做为标识符。对象
例如:myName、book123等内存
直接量(字面量)字符串
全部的字面量,就是程序中直接显示出来的数据值。
100 //数字字面量
"个人第一章js" //字符串字面量
flase //布尔字面量
null // 对象字面量
关键字
有特殊用途的关键字,通常用于控制语句的开始或者结束。或者用于执行特定的写操做。关键字是语言保留的,不能用做标识符。
例如: break、else、 new、 var、case、 catch
保留字
不能用做标识符,虽然如今尚未特定的用途,可是未来颇有可能被用做关键字
例如: abstract、 into、boolean、 float、 char、 static
js中变量是松散类型的,用来保存任何类型的数据,定义变量要用var,后面跟一个变量名(标识符)。
var box;
alert (box);
这句话定义了box变量, 可是没有对它初始化,也就是没有赋值,这时系统会给他一个特殊的值- undefined(表示未定义)。
可使用一条语句定义多个变量,只要把变量用逗号分开便可。
var box="个人练习",age=24,height=168;
js中有6中简单的数据类型:undefined、Null、Boolean、Number、string、object。
typeof操做符
用来检测变量的数据类型。对于值或者变量使用typeof操做符会返回以下字符串。
字符串 描述
undefined 未定义
boolean 布尔值
string 字符串
number 数值
object 对象或者null
function 函数
typeof 操做符能够操做变量,也能够操做字面量。虽然也能够这样使用 typeof(box), 可是,typeof是操做符而非内置函数。 PS:函数在js中是对象,不是数据类型。因此,使用typeof 来区分function和object是很是有必要的。
Undefined类型
只有一个值,即特殊的Undefined。在使用var声明变量,单没有对其初始化,这个变量的值就是Undefined。
var box; alert(box); var box; alert(age);
未初始化的变量与根本不存在的变量(未声明的变量)是不同的。
PS:若是typeof box,typeof age 都返回的Undefined.从逻辑上讲,他们的值,一个是Undefined,一个是报错, 他们的类型确都是Undefined。因此 ,咱们再定义变量的时候,尽量的不要只,声明,不赋值。
Null 类型
Null 类型是一个只有一个值的数据类型。它表示一个空对象引用(指针),而typeof出走左幅检测null 会返回object.
var box=null; alert(typeof box);
若是定义的变量在未来用于保存对象,那么最好将该变量初始化为null。这样,当检查null值就知道变量是否已经分配了对象引用了。
var box=null; if(box!=null){ alert("box对象已经存在!") }
因为undefined和null两个值的比较是至关的,因此,未初始化的变量和赋值未null的变量会至关,这是能够采用typeof变量的类型进行比较。可是,仍是养成编码的规范,不要忘记初始化变量。
var box; var car=null; alert(typeof box==typeof car)
Boolean类型
Boolean 类型有两个字面量:true和false。而true不必定等于1,false不同等于0.
var box=true; alert(typeof box);
虽然 Boolean 类型的字面量只有true和false两种,可是js中全部的类型的值都有与这两个布尔值等价的值。要将一个值转换为其对应的布尔值,可使用转型函数Boolean().
var hello="hello"; var hello2=Boolean(hello); alert(typeof hello2);
上面是一种强制性转换,还有一种隐式转换。好比,在if条件语句里面的条件判断,就属于隐式转换。
var hello="hello world"; if(hello){ alert("若是条件为true,就执行我这条"); } else{ alert("若是条件为false,就执行我这条"); }
如下是其余类型转布尔类型规则 可本身测
数据类型 转换为true 转换为false
Boolean true false
String 任何非空的字符串 空字符串
Number 任何非零的数字(包括无穷大) 0和NaN
Object 任何对象 null
Undefined Undefined
Number类型
包含两种数值:整形和浮点型。
浮点型,就是该数值中必须包含一个小数点,小数点后必须至少有一个数字。因为浮点数值须要的内存空间比整形数值大两倍,所以js会自动将能够转换为整形的浮点数值转换为整形。
NaN,非数值是一个特殊的值,这个数值用于表示一个原本返回数值的操做数未返回数值的状况。
String 类型
字符串,字符串用单引号或者双引号表示。
js中的字符串是不可变的,一旦建立,值就不能改变。
var box=11; alert(typeof box.toString());
若是在转型以前不知道是不是null或者undefined的状况下,咱们还可使用转型函数String(),这个函数能将任何类型的值转换为字符串。
Object类型
js中的对象实际上是一组数据和功能的集合。对象能够执行new操做符后跟要建立的对象类型的名称来建立。
var box=new Object();
obiect能够任意传参,能够传数值、字符串、布尔值等。并且还能够相对应的计算。
var box=new Object(2); var age=box+2; alert(age);