JavaScript正式篇
基于《JavaScript高级程序设计》编写
第三章 基本概念
1. 标识符 :
指变量,函数,属性的名字,或者函数的参数驼峰大小写格式
2. use strict :
- 在整个脚本中使用严格格式:在顶部加上代码
- 在函数内部使用严格格式:在函数内部添加
function doSomething(){
"use strict"
//这里书写函数代码
}
3. var :
在函数内部定义的var变量是局部变量,在函数执行完毕后会被销毁
那么如何来定义全局变量? 只需
javascript message = "hi" //全局变量
4. 尚未声明的变量 :
对于那些尚未声明的变量,只能执行一项操作,即使用 typeof 检测其数据类型 typeof是操作符,不是函数
isNaN 检测是否是一个数字,isNaN 可以理解为 is not a number,也就是说,如果检测的对象是数字,那么返回 false,如果检测的对象不是数字,那么返回 true.
//isNaN
alert(isNaN(123)); //false
alert(isNaN("hello")); //true
5. Null,undefined :
Null undefined类型都只有一个值,即null undefined由于undefined值派生自null值,因此
if(null == undefined) //true
6.Null,undefined :
有三个函数可以把非数值转换为数值,即 Number() parseInt() parseFloat()
Number() 可以用于任何数据类型的转换
parseInt() parseFloat() 只能用于字符串的转换
//parseInt
var num1 = parseInt("AF",16); //175
var num2 = parseInt("AF"); //NAN(没有指定转换类型,按字符处理)
var num3 = parseInt("10",2); //2(二进制)
var num4 = parseInt("10",8); //8(八进制)
var num5 = parseInt("10",10); //10(十进制)
var num6 = parseInt("1234Blue"); //1234
//parseFloat
var num1 = parseFloat("0908.5"); //908.5
7. 自增自减操作符 :
//a++ ++a的区别
var a = 20;
var b = 2;
var c = a++ - b; //18
var d = a + b; //23
----------------------------------
var a = 20;
var b = 2;
var c = ++a - b; //19
var d = a - b; //19
8. 一元加和减操作符 :
//一元加操作符在转换数值是,对数值没有任何影响,一元减则是将数值变为负数,应当注意的是在转化一些非数值试,该操作符会像 **number()** 转型函数一样对这个值进行转换。
var a = "01";
var b = "1.1";
var c = false;
var d = {
function(){
return -1;
}
}
a = +a; //1
b = +b; //1.1
c = +c; //0
d = +d; //-1
//减号操作符则相反
9. 关系操作符 :
四种关系操作符 : < > >= <=
在这里主要说明两点,即字符串之间的比较和数值和字符串之间的比较
var result = "23" < "3" //true
var result = "23" < 3 //false(先转换为数值,再进行比较)
10. 相等操作符 :
四种等价关系操作符 == != === !==
== : 先转换在比较
!= : 先转换,在比较
=== : 只比较,不转换
!== : 只比较,不转换
var a = ("55" == 55); //true
var b = ("55" === 55); //false
var c = ("55" != 55); //false
var d = ("55" !== 55); //true
11. switch语句 :
switch : 语句在比较时用的是全等操作符,不会发生类型转换。