一: js直接在< script >标签中书写
二:< script >标签位置任意,但是位置越靠前,执行越早
三:注释 单行:// 多行: /* */
四: js的原始数据类型
- number: 数字 浮点型,整型
- string: js语言中的一种突破(将string类型作为原始数据类型) 没有char类型
- boolean: true/false
- null:用来标示引用数据类型的占位符。通常都是人为赋值 var person = null;
- undefined:由null衍生出来的值
1)当我们声明一个变量,但是没有给该变量初始化值,那么系统默认赋值为undefined
2)函数中没有返回值,那么默认返回undefined
原始数据类型的判断符:typeof
var num1 = 10;
var num2 = 3.14;
var str1 = 'a';
var str2 = "hello";
var b = true;
var c;
var d = null;
alert(typeof num1);//number
alert(typeof num2);//number
alert(typeof str1);//string
alert(typeof str2);//string
alert(typeof b);//boolean
alert(typeof c);//undefined
alert(typeof d); //object
//类型的强制转换
var f = +"abc";//将会转换失败,返回number中的特殊值NaN
alert(typeof f);
alert(f);//NaN not a number
null返回object:是js中的一个bug,这个bug 被认为很贴切.所以保留了该bug,null通常表示引用数据类型(object类型)
五: js中的类型的自动转换
在参入 boolean(! && ||) 运算时,会自动转换
转换规律:
- String ==> “” ==>转换为false 其他都转换为true
- number ==> 除了NaN,+0,-0,其他的都转换为true
- null ==> false
- undefined ==> false
在参入比较(>< )运算时
- 一端是数字,一端是其他类型时,其他类型会自动向数字类型转换
- 字符串进行比较时:先比较首字符asc骂,如果再比较第二位。。。。。。
六:NaN(not a number) 特性:
除了!= NaN参入的其他任何运算 ,返回值都是false
七:JavaScript的重载
argument:传递的参数数组
function fun4(a,b){
alert(a+b+" arguments.length="+arguments.length +" arguments[0]="+arguments[0]);
}
JavaScript的重载:
function fun6(){
if(arguments.length == 2){//如果参数数组长度为2
var num1 = arguments[0]+arguments[1];
alert(num1);
}else if(arguments.length == 3){//如果参数数组长度为3
var num2 = arguments[0]+arguments[1]+arguments[2];
alert(num2);
}else{
alert(arguments.length);
}
}