第三章:基本概念

来源:互联网 发布:淘宝网系统架构分析 编辑:程序博客网 时间:2024/05/29 08:09
3.1.1区分大小写


3.1.2标识符
变量、函数、属性的名字,或者函数的参数。
规则:第一个字符(字母、下划线、或$),采用驼峰式写法。第一个字母小写


3.2关键字和保留字


3.3变量
var message;
var message="hi";//使用var定义的变量是局部变量


function test(){
var message="hi";
}
test();
alert(message);//报错


3.4数据类型
简单类型:Undefined Null Boolean Number String
复杂类型:Object


3.4.1 typeof操作符


3.4.2 Undefined类型
只有一个值:Undefined
声明变量后未赋值都是Undefined类型,还有,没有声明的变量也是Undefined,没有声明的变量值能执行一个操作,就是typeof
var message;
alert(typeof(message));//undefined
alert(typeof(age));//undefined
不要显示的声明undefined


3.4.3 Null类型
表示空对象指针
var car =null;
typeof(car);//object
undefined派生自null值,
undefined是未定义的对象,null是定义的对象,但是还没有初始化,可以理解为null是defined了的obj,但是没有new或赋值
只要保存对象的变量还没有正真保存对象,就应该明确保存为null


3.4.4 Boolean类型
要将一个值转为boolean,可以调用Boolean();
var message="hello";
var messageAsBoolean=Boolean(message);


3.4.5 Number类型
其他进制转为10进制比较简单:就是每一位乘以该进制数的进制数方()
比如:八进制:第一位必须是0,
var octalNum1=070;//56(个:8^0*0+8^1*7)
var octalNum2=079;//由于八进制的一位不可能有超过8的,所以这是错误的八进制,javascript忽略0,后面的数值当做十进制解析
有时候javascript的精度计算并不准确
0.1+0.2=0.30000000000000004
Infinity正无穷


NaN(非数值),转换为boolean为是false


数值转换:
Number();//可用于(""->0,001->1)
parseInt();(""->NaN)
由于对于八进制解析不一样,可以加入进制基数区别
paresInt("10",16);//16
parseFloat();与parseInt()相似,始终忽略数字前面的0


3.4.6 String
var text="this is the letter sigma: \u03a3.";//
alert(text.length)


2.转换为字符串(toString()可以转换为任何进制的数)
toString();//不能用于null和Undefined
var num=10;
alert(num.toString());//默认以十进制转换,10
alert(num.toString(2));//1010
alert(num.toString(8));//12


String();//任何类型都可以使用
var value3=null;
var value4;
alert(String(value3));//null
alert(String(value4));//undefined


3.4.7 Object
var o =new object();


3.5操作符
3.5.1
一元操作符
1.++,--,对所有类型都适用
2.+,-(取正和取负)


3.5.2位操作符
第32位用来表示符号
取负数:
①获取正数的二进制
②取相反
③加一


3.5.3 布尔操作符

与或(属于短路操作)


3.5.5加性操作符
1.+
var result2=5+"5";
alert(result2);//"55"


2.-
注意和加法不一样


3.6语句
for-in:用于枚举对象的属性
break,countinue
switch


3.7函数
function sayHi(name,message){
alert("hello!"+name+","+message);
}
不能把函数名和参数名命名为eval和arguments


3.7.1理解参数
定义一个函数可以不需要写参数,因为javascript的参数本身就是一个数组
你可以通过arguments这个对象的属性来判断


如:上面的函数也可以这样写
function sayHi(){
alert("hello"+arguments[0]+arguments[1]);
}
sayHi("tom","fucj");


获取参数的个数:arguments.length


function doAdd(){
if(arguments.length==1){
alert(arguments[0]+10);
}else if(arguments.length){
alert(arguments[0]+arguments[1]);
}
}





































0 0