App下載

JavaScript類型、運算符、對象和方法總結(jié)

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

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

1、number詳解

Javascript中采取全浮點計算(雙精讀64位)注意 !在某些運算中會出錯   eg:0.1 + 0.2 = 0.30000000000000004我們也能夠使用JavaScript提供的Math內(nèi)置對象,和 內(nèi)置函數(shù)parseInt();另外JavaScript還提供了parseFloat(),但是它只支持解析十進制數(shù)字在parseInto("123",10)  //123      -->10的含義是十進制

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

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

parseInt("0x10"); // 16

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

parseInt("10011",2);

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

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

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

2、字符串

JavaScript 中的字符串是一個 Unicode 字符序列

每個編碼單元由一個 16 位二進制數(shù)表示。每個 Unicode 字符由一個或兩個編碼單元來表示。

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

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

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

"hello".length; // 5

3、其他類型(null 和 undefined)

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

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

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

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

4、變量

在JavaScript中聲明一個變量用var

var a; 

var name = "simon";

var a;

 var name = "simon";

在JavaScript中的語句塊中 是沒有作用域的

5、運算符

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

+可以用來連接字符串

"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元運算符:var allowed = (age > 18) ? "yes" : "no";
  4. 多重分支時可使用 基于一個數(shù)字或字符串的 switch 語句:(在 switch 的表達式和 case 的表達式是使用 === 嚴格相等運算符進行比較的:)

switch(action) {

case 'draw':

drawIt();

break;

case 'eat':

eatIt();

break;

default:

doNothing();

}

switch(1 + 3){

case 2 + 2:

yay();

break;

default:

neverhappens();

}

7、對象

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

1.var obj = new Object();

2.var obj = {} --->對象字面量

var obj = {

name:"carrot",

"for":"Max",

details:{

color:"orange",

size:12

}

}

可以用鏈式訪問:

obj.details.color;//orange

可以用中括號訪問:

obj [ detail ] [ color ];

對象類型:(像是 Java 中的一個類)

function Person(name,age){

    this.name = name;

    this.age = age;     

}

創(chuàng)建一個 Person 的對象:

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

可用 You.name="ZJH"; 來賦值

可用 var name=You.name; 來賦值

obj["name"] = "Simon";


0 人點贊