JavaScript语法与Java差不多,只不过它是弱类型语言,一些地方是有区别的。今天有点厌学,只学了一点,但是还要来总结一下:
1.变量
可以用来保存任何类型的数据,因为是弱类型语言嘛
定义格式:
var message;
提示:带有var操作符表示局部变量。省略了var操作符表示全局变量,但是不推荐使用。
2.数据类型
ECMAScript中有5中简单数据类型(也称基本数据类型):
Undefined,Null,Boolean,Number,String,Object;
2.1 typeof操作符
用来检测变量的数据类型
1)如果这个值未定义----undefined
2)如果这个值是布尔值-----Boolean
3) 如果这个值是字符串------string
4)如果这个值是数值------Number
5) 如果这个值是对象或者null===object
6) 如果这个值是函数-------function
2.2 undefined
如果只声明了变量,未对其进行初始化,这个值的类型九十undefined,
2.3 NULL
alert(null==undefined)//true
2.4 Boolean类型、
只有两个字面值 true,false
数据类型 | 转换为true的值 | 转换为false的值 |
---|---|---|
Boolean | true | false |
String | 任何非空字符串 | 空字符串 |
Number | 任何非0数字值(包括无穷大) | 0和NaN |
Object | 任何对象 | null |
Undefined | n/a | undefined |
2.5 Number类型
八进制:首位0
十六进制:首位 0x
浮点数值
最高精度是17位小数
数值范围
浏览器规定的有
NaN
非数值是一个特殊的数值,用于表示一个本来要返回数值的操作数未返回数值的情况。NaN与任何值都不相等
数值转换
Number()函数的转换规则:
(1)Boolean 转换为1 和0
(2)null 返回0
(3) undefined 返回undefined
(4)字符串:如果只含数字,将其转换为十进制数
如果含有浮点数,转换为浮点数值
如果空串,返回0
如果不包含上述情况,返回NaN
如果是对象,调用对象的valueof方法,然后按照前面的规则转换返回的值。如果转换的结果是NAN,则调用对象的toString 方法,然后再依照前面的规则转换为返回的字符串。
parseInt()函数的转换规则
1)如果第一个字符不是数字字符或者负号,返回NaN(也就是说转换空字符串会返回NaN)
2)否则,继续解析字符串,直到解析完所有后续字符或者遇到了一个非数字字符。
可以用第二个参数指定进制类型
parseFloat()函数
只解析十进制值,只解析一个小数点
2.6 String 类型
2.7 object类型
可以这样自定义
var o =new Object();
3. 相等操作符
3.1 相等和不相等
var t1="123";
var t2=123;
console.log(t1==2);//true;
3.2 全等和不全等
比较之前不转换操作数;
var t1="123";
var t2=123;
console.log(t1==2);//false,因为t1,t2类型不同。
4 .for-in语句
for(property in expression) statement;
for(var propName in window){
document.write(propName);
}
5. 没有重载
function addSomeNumber(num)
{
return num+100;
}
function addSomeNumber(num)
{
return num+200;
}
var result=addSomeNumber(100);//300
后定义的函数覆盖了先定义的函数