App下載

JavaScript類型、運(yùn)算符、對(duì)象和方法總結(jié)

猿友 2020-12-30 14:51:41 瀏覽數(shù) (2503)
反饋

JavaScript 是一種面向?qū)ο蟮膭?dòng)態(tài)語(yǔ)言,它包括類型、運(yùn)算符、標(biāo)準(zhǔn)內(nèi)置( built-in)對(duì)象和方法。它的語(yǔ)法來(lái)源于 Java 和 C,所以這兩種語(yǔ)言的許多語(yǔ)法特性一樣適用于 JavaScript。需要注意的一個(gè)主要區(qū)分是 JavaScript 不支持類,類這一概念在 JavaScript 通過(guò)對(duì)象原型(object prototype)得到延續(xù)(有關(guān) ES6 類的內(nèi)容參考這里Classes)。另外一個(gè)主要區(qū)分是 JavaScript 中的函數(shù)也是對(duì)象,JavaScript 允許函數(shù)在包括可履行代碼的同時(shí),能像其他對(duì)象一樣被傳遞。

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(),但是它只支持解析十進(jìn)制數(shù)字在parseInto("123",10)  //123      -->10的含義是十進(jìn)制

parseInt("010", 10); //10

parseInt("010"); // 8 如果沒有第2個(gè)參數(shù),那末以0開頭就是8進(jìn)制 0x開頭就是16進(jìn)制

parseInt("0x10"); // 16

如何把二進(jìn)制轉(zhuǎn)為整數(shù)值?

parseInt("10011",2);

當(dāng)?shù)谝粋€(gè)參數(shù)不是數(shù)字型字符串parseInt("hello", 10); 

// NaNNaN是一個(gè)特殊值 用它與任何數(shù)字計(jì)算 結(jié)果都是NaN

另外  還有兩個(gè)特殊值  Infinity  和 -Infinity  (正無(wú)窮和負(fù)無(wú)窮)用內(nèi)置函數(shù)  isFinite( )可以判斷一個(gè)變量是不是為 Infinity   -Infinity    NaN

2、字符串

JavaScript 中的字符串是一個(gè) Unicode 字符序列

每個(gè)編碼單元由一個(gè) 16 位二進(jìn)制數(shù)表示。每個(gè) Unicode 字符由一個(gè)或兩個(gè)編碼單元來(lái)表示。

"hello".charAt(0); // "h"

"hello, world".replace("hello", "goodbye"); // "goodbye, world"

"hello".toUpperCase(); // "HELLO"

"hello".length; // 5

3、其他類型(null 和 undefined)

null 的本質(zhì)是一個(gè)空值,必須使用 null 關(guān)鍵字才能訪問(wèn)

undefined 是一個(gè)未定義類型的對(duì)象(也是一個(gè)對(duì)象),它表示一個(gè)未初始化的值,也就是還沒有被分配值。(JavaScript 允許聲明變量但不對(duì)其賦值,一個(gè)未被賦值的變量就是 undefined 類型)

布爾型:(true / false)其他類型對(duì)其轉(zhuǎn)化

flase , 0 , "  " , NaN , null , undefined 都會(huì)在 JavaScript 需要一個(gè)布爾值變量的時(shí)候隱式轉(zhuǎn)換為 false (其他的都會(huì)轉(zhuǎn)化為 true)

4、變量

在JavaScript中聲明一個(gè)變量用var

var a; 

var name = "simon";

var a;

 var name = "simon";

在JavaScript中的語(yǔ)句塊中 是沒有作用域的

5、運(yùn)算符

JavaScript 的算術(shù)操作符包括 +、-、*、/ 和 % ——求余(與模運(yùn)算不同)。賦值使用 = 運(yùn)算符,另外還有一些復(fù)合運(yùn)算符,如 += 和 -=,它們等價(jià)于 x = x op y。

+可以用來(lái)連接字符串

"3" + 4 + 5; // 345

3 + 4 + "5"; // 75

1 === true; //false

123 === "123"; // false

123 == "123" // true

1 == true; // true

6、控制結(jié)構(gòu)

if()...else if()...else()

while()

do...while()

for( ; ; )/for( : )

  1. 短路與:var name = o && o.getName();
  2. 短路或:var name = otherName || "default";
  3. 3元運(yùn)算符:var allowed = (age > 18) ? "yes" : "no";
  4. 多重分支時(shí)可使用 基于一個(gè)數(shù)字或字符串的 switch 語(yǔ)句:(在 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();

}

7、對(duì)象

對(duì)象的創(chuàng)建方式:

1.var obj = new Object();

2.var obj = {} --->對(duì)象字面量

var obj = {

name:"carrot",

"for":"Max",

details:{

color:"orange",

size:12

}

}

可以用鏈?zhǔn)皆L問(wèn):

obj.details.color;//orange

可以用中括號(hào)訪問(wèn):

obj [ detail ] [ color ];

對(duì)象類型:(像是 Java 中的一個(gè)類)

function Person(name,age){

    this.name = name;

    this.age = age;     

}

創(chuàng)建一個(gè) Person 的對(duì)象:

var You=new Person("zhangjiahui","23");

可用 You.name="ZJH"; 來(lái)賦值

可用 var name=You.name; 來(lái)賦值

obj["name"] = "Simon";


0 人點(diǎn)贊