1.<noscript>元素 瀏覽器不支持js或者js被禁用起作用
2.標(biāo)識符原則
(1)第一個字符必須是字母 下劃線 或者 $
(2)其他字符可以是 字母 下劃線 ?$ 數(shù)字
3.關(guān)鍵字和保留字
4.變量
?var a红伦; 不賦值 a=undefined
函數(shù)里面的var a虎韵;a在函數(shù)外面失效
函數(shù)里面的a=10产艾; 沒有var將a成為全局變量
一個var同時初始化多個變量例如 var a=10库快,b=20赏淌,c=30士八;
5.數(shù)據(jù)類型
基本數(shù)據(jù)類型:undefined Number String Boolean Null
引用數(shù)據(jù)類型:Object
6.typeof返回值
?undefined -------如果這個值未定義渺贤、未用var聲明
Boolean-------布爾值
String------字符串
number---數(shù)字是數(shù)值
object-----對象或者null
function------值是函數(shù)
7.Boolean的轉(zhuǎn)換
7-1 轉(zhuǎn)換成布爾值的方法
? ? ?(1) Boolean() ? ?
? ? ?(2)使用非九秀!邏輯運算
7-2 其他數(shù)據(jù)類型轉(zhuǎn)換成布爾值
? ? ? ? ? ? ? ? ? ? ? true ? ? ? ? ? ? ? ? ? ? ? ?false
字符串 ? ? ? ? ?非空字符串 ? ? ? ? ? ?空字符串
數(shù)字 ? ? ? ? ? ? ?非零數(shù)字 ? ? ? ? ? ? ? ?0和NaN
對象 ? ? ? ? ? ? ?任何對象 ? ? ? ? ? ? ? ?null
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? undefined
8.Number類型
? 8-1 進制?
? ? ?八進制 :第一位0 ?其他(0-7)
? ? ?十六進制: 前兩位0x ?后面(0-9和A-F)
8-2 NaN
? 任何涉及NaN的的操作都返回NaN
? NaN與任何值都不相等包括自己
? isNaN()函數(shù)? 確定這個參數(shù)是否“不是數(shù)值” 例如 isNaN(NaN)//true? ; isNaN("blue")//false; isNaN(true)//false?
8-3 數(shù)值轉(zhuǎn)換規(guī)則
Boolean ?true(1) ? flase(0)
string ? ? 空字符串(0) "十六進制"(十進制數(shù)字) ?"123"(123)
對象? ? ? ? valueOf()返回 Boolean 對象的原始值 ?
? ? ? ? ? ? ? var boo = new Boolean(false); ? ? ? document.write(boo.valueOf())
8-4 字符串轉(zhuǎn)換數(shù)值的方法
? ? ? Number()
? ? ? parseInt() 數(shù)值型 字符串轉(zhuǎn)換成數(shù)字可以傳第二個參數(shù) -- 進制? 例如parseInt("0xaf",16)
? ? ? ParseFloat()
9.字符串
?9-1 轉(zhuǎn)換成字符串
? String() ?傳參數(shù) 適應(yīng)所有類型
toString() ?方法 適應(yīng)與除null undefined 注意:數(shù)值類型可以傳參數(shù)轉(zhuǎn)換成響應(yīng)的進制
10.object
?屬性和方法
constructor:保存著用于創(chuàng)建當(dāng)前對象的函數(shù)
hasOwnProperty(propertyName):用于檢查當(dāng)前對象的的屬性是否在對象的實例中(而不是原型中)
isPrototypeOf(object):檢查傳入的對象是否是傳入對象的原型
toString()
valueOf()?
11.操作符
? 11-1.一元操作符
?(1) ?++a
? ? a++
例如 :var a=10; alert(++a) //11
var a=10; alert(a++) //10
(2)轉(zhuǎn)換成數(shù)值
?例如 var a="10" ; +a //10
布爾操作符
(1)邏輯非(!):可以將其他類型轉(zhuǎn)換成布爾 ? ? ? ? ?5嗔帧臣缀!a
(2)邏輯與(&&)
true ? ? ? ? ? ?true ? ? ? ? ? ? ? ? ? true
true ? ? ? ? ? ? false ? ? ? ? ? ? ? ?false?
flase ? ? ? ? ? ? ?true ? ? ? ? ? ? ? ?false?
flase ? ? ? ? ? ? ? flase ? ? ? ? ? ? ?false?
? 規(guī)則:
? ? ? ? ? ? ? ? ? ? ? ? 第一個 ?對象 ? ? 返回第二個
? ? ? ? ? ? ? ? ? ? ? ? ?有一個null返回null
? ? ? ? ? ? ? ? ? ? ? ? ?有一個NaN返回NaN
? ? ? ? ? ? ? ? ? ? ? ? ?有一個undefined返回undefined
短路操作
? ?如果第一能決定結(jié)果不會對第二操作
例如 var a=flase ; alert(a&&s);//false ? s未定義但是不會報錯
? ? ? ? ? var a=true ; alert(a&&s);//false? s未定義但是會報錯
(3)邏輯或(||)
true? ? ? ? ? ? true? ? ? ? ? ? ? ? ? true
true ? ? ? ? ? ? false ? ? ? ? ? ? ? true
flase ? ? ? ? ? ? ?true ? ? ? ? ? ? true
flase ? ? ? ? ? ? ? flase ? ? ? ? ? ? ?false
規(guī)則
? ? ? ? ? ? ?第一個? 對象? ? 返回第二個
? ? ? ? ? ? ?有一個null返回null
? ? ? ? ? ? ? 有一個NaN返回NaN
? ? ? ? ? ? ? 有一個undefined返回undefined
短路操作
12.條件操作
var 變量=(表達(dá)式)? true-value : false -value
var max=(num1>num2)?num1:num2
如果num1大于num2 關(guān)系式返回true 把num1賦值給max ?
13.條件語句
if
switch
if和switch的關(guān)系
if(i==25){
alert("25")
}else if(i==35){
alert("35")
}else if("45"){
alert("45")
}else{
alert("other")
}
switch(i){
case 25:
alert("25");
break;
case 35:
alert("25");
break;
case 45:
alert("25");
break;
default:
alert("other");
}
14.循環(huán)語句
while
var i=10;
while(i<100){
alert(i)
}
for
for(var i=10;i<100;i++){
alert(i)
}
for ? in遍歷對象的屬性
var obj={
a:1,
b:2
}
for(var i in obj){
alert(obj[i]) ? ? ? ? ? ?/*i表示對象的屬性*/
}
do ? ?while ?
var i=10;
do{
alert(i)
}while(i<100)
15.break和continue和label
label:代碼 中添加標(biāo)簽,以便將來使用
var obj={
a:1,
b:2
}
name:for(var i in obj){
alert(obj[i])
break name;
}/*break 語句或者continue語句將來引用*/
break:立刻退出循環(huán)強制繼續(xù)循環(huán)后面的語句
var num=0;
for (var i=0;i<10;i++){
if(i%5==0){
break;
}
num++? /*num=4*/
}
continue:退出某次循環(huán)泻帮,然后循環(huán)繼續(xù)
var num=0;
for (var i=0;i<10;i++){
if(i%5==0){
continue;
}
num++? /*num=8? i=5時跳出*/
}
alert(num)
15.return語句
位于return后面的語句都不會執(zhí)行
function a(){
if (true)return 10;
alert(10)? /*不會彈出*/
}
a()
16.函數(shù)參數(shù)
arguments類數(shù)組包裝傳入的參數(shù)
? function count(a,b,c){
alert(arguments.length)
alert(arguments[0])
}
count(14,12,13);//3 14
count(14,12);//2 ?14
count(14);//1 ?14
count();//0 ?undefined
小結(jié)
??