JavaScript總結(jié)
來源:程序員人生 發(fā)布時(shí)間:2016-06-22 15:35:05 閱讀次數(shù):5333次
JavaScript 是1種面向?qū)ο蟮膭?dòng)態(tài)語言,它包括類型、運(yùn)算符、標(biāo)準(zhǔn)內(nèi)置( built-in)對(duì)象和方法。它的語法來源于 Java 和 C,所以這兩種語言的許多語法特性一樣適用于 JavaScript。需要注意的1個(gè)主要區(qū)分是 JavaScript 不支持類,類這1概念在 JavaScript 通過對(duì)象原型(object prototype)得到延續(xù)(有關(guān) ES6 類的內(nèi)容參考這里Classes)。另外一個(gè)主要區(qū)分是
JavaScript 中的函數(shù)也是對(duì)象,JavaScript 允許函數(shù)在包括可履行代碼的同時(shí),能像其他對(duì)象1樣被傳遞。
-
Number(數(shù)字)
-
String(字符串)
-
Boolean(布爾)
-
Symbol(符號(hào))(第6版新增)
-
Object(對(duì)象) Function(函數(shù))
-
Array(數(shù)組)
-
Date(日期)
-
Math(數(shù)學(xué)對(duì)象)
-
RegExp(正則表達(dá)式)
-
Null(空)
-
Undefined(未定義)
-
Error(毛病)類型
1 、number詳解
Javascript中采取全浮點(diǎn)計(jì)算(雙精讀64位)
注意 !在某些運(yùn)算中會(huì)出錯(cuò) eg:0.1 + 0.2 = 0.30000000000000004
我們也能夠使用JavaScript提供的Math內(nèi)置對(duì)象,和 內(nèi)置函數(shù)parseInt();
另外JavaScript還提供了parseFloat(),但是它只支持解析10進(jìn)制數(shù)字
在parseInto("123",10) //123 -->10的含義是10進(jìn)制
parseInt("010", 10); //10
parseInt("010"); // 8 如果沒有第2個(gè)參數(shù),那末以0開頭就是8進(jìn)制 0x開頭就是16進(jìn)制
parseInt("0x10"); // 16
當(dāng)?shù)?個(gè)參數(shù)不是數(shù)字型字符串parseInt("hello", 10);
另外 還有兩個(gè)特殊值 Infinity 和 -Infinity (正無窮和負(fù)無窮)
用內(nèi)置函數(shù) isFinite()可以判斷1個(gè)變量是不是為Infinity -Infinity NaN
2、字符串
JavaScript中的字符串是1個(gè)Unicode字符序列
每個(gè)編碼單元由1個(gè) 16 位2進(jìn)制數(shù)表示。每個(gè)Unicode字符由1個(gè)或兩個(gè)編碼單元來表示。
"hello".charAt(0); // "h"
"hello, world".replace("hello", "goodbye"); // "goodbye, world"
"hello".toUpperCase(); // "HELLO"
"hello".length; // 5
undefined是1個(gè)未定義類型的對(duì)象(也是1個(gè)對(duì)象),它表示1個(gè)未初始化的值,也就是還沒有被分配值。(JavaScript允許聲明變量但不對(duì)其賦值,1個(gè)未被賦值的變量就是undefined類型)
布爾型:(true / false)其他類型對(duì)其轉(zhuǎn)化
flase,0,"",NaN,null,undefined都會(huì)在JavaScript需要1個(gè)布爾值變量的時(shí)候隱式轉(zhuǎn)換為false (其他的都會(huì)轉(zhuǎn)化為true)
4、變量
在JavaScript中聲明1個(gè)變量用var
var a;
var name = "simon";
在JavaScript中的語句塊中 是沒有作用域的
5、運(yùn)算符
JavaScript的算術(shù)操作符包括 +、-、*、/ 和 % ——求余(與模運(yùn)算不同)。賦值使用 = 運(yùn)算符,另外還有1些復(fù)合運(yùn)算符,如 += 和 -=,它們等價(jià)于 x = x op y。
+可以用來連接字符串
"3" + 4 + 5; // 345
3 + 4 + "5"; // 75
1 === true; //false
123 === "123"; // false
123 == "123" // true
1 == true; // true
-
if()...else if()...else()
-
while()
-
do...while()
-
for( ; ; )/for( : )
-
短路與:var name = o && o.getName();
-
短路或:var name = otherName || "default";
-
3元運(yùn)算符:var allowed = (age > 18) ? "yes" : "no";
-
多重分支時(shí)可使用 基于1個(gè)數(shù)字或字符串的switch語句:(在 switch 的表達(dá)式和 case 的表達(dá)式是使用 === 嚴(yán)格相等運(yùn)算符進(jìn)行比較的:)
switch(action) {
case 'draw':
drawIt();
break;
case 'eat':
eatIt();
break;
default:
doNothing();
}
switch(1 + 3){
case 2 + 2:
yay();
break;
default:
neverhappens();
}
var obj = {
name:"carrot",
"for":"Max",
details:{
color:"orange",
size:12
}
}
obj.details.color; //orange
obj[detail][color];
對(duì)象原型:(像是Java中的1個(gè)類)
function Person(name,age){
創(chuàng)建1個(gè)Person的對(duì)象:
var You = new Person("zhangjiahao","23");
可用var name = You.name;來取值
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)