一、真假判断
真的:true、非零数字、非空字符串、非空对象
假的:false、数字零、空字符串、空对象、undefined
例:if(0){
alert(1)
}else{
alert(2)
}
结果是2
二、JSON和for in
例:var obj={aa:1,bb:2,cc:3}
var attr=‘‘;for (attr in obj){
alert(attr+‘=‘+obj[attr])
}
结果是aa=1 bb=2 cc=3
三、NaN
not a number 非数字 与自身也不等
用 isNaN(需要判断的值) 来检测
四、强制(显示)类型转换
parseInt() parseFloat()
五、隐式类型转换
== 先转换类型再比较
=== (严格比较)不转换类型直接比较
- * / (减 乘 除) 功能:运算 如果是字符串不是数字先转换再运算
+(加 ) 功能:1.字符串拼接 2.运算 如果是字符串不是数字做拼接
所以==、-、*、/隐式类型转换
六、变量作用域
1.局部变量
function aa(){
var a=11; //局部变量:定义在一个函数里,只能在这个函数里用
}
function bb(){
alert(a);
}
aa()
bb()
结果是undefined
2.全局变量
var a; //全局变量:不定义在任何一个函数里,可以在任何地方用(建议少用)
function aa(){
a=11;
}
function bb(){
alert(a);
}
aa()
bb()
结果是11
3.闭包
function aa(){
var a=11;
function bb(){
alert(a);
}
bb() //闭包:子函数可以使用父函数的局部变量(经常在使用的正常情况)
}
aa()
结果是11
七、命名规范
匈牙利命名法
类型前缀
a 数组 Array
b 布尔值 Boolean
f 浮点数 Float
fn 函数 Function
i 整数 Integer
o 对象 Object
re 正则表达式 RegExp
s 字符串 String
v 变体变量 Variant
例:var aDiv=getElementsByTagName(‘div‘)
var oDiv1=getElementById(‘div1‘)
首字母大写:JS自带命名法如getElementsByTagName
先记到这里,有错误欢迎指正~