国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

javascript 基本包裝類型總結

explorer_ddf / 1030人閱讀

摘要:實際上,每當讀取一個基本類型值時,后臺就會創建一個對應的基本包裝類型的對象。參數表示數值的所有數字的位數不包括指數部分。原因與顯示創建對象一樣類型重寫了,都返回對象表示的基本字符串值。轉換為針對地區的小寫方式。

讀《javasrcipt 高級程序設計》筆記。
ECMAScript提供了3種特殊的引用類型:Boolean,Number,String。實際上,每當讀取一個基本類型值時,后臺就會創建一個對應的基本包裝類型的對象。

Boolean類型

重寫了valueOf()方法,返回基本類型值true或false;
重寫了toString()方法,返回字符串"true"或"false"
【布爾表達式中的所有對象都會被轉換為true】
請看栗子

var falseObject = new Boolean(false);
var result = falseObject && true;//true

var falseValue = false;
result = falseValue && true;//false

console.log(typeof falseObject); //object
console.log(typeof falseValue); //boolean
console.log(falseObject instanceof Boolean);//true
console.log(falseValue instanceOf Boolean);//false

falseObject雖然值為false,但這是一個對象,所以被轉換為true。所以第一個result 為true。
基本類型與引用類型的布爾值的區別:

typeof對于基本類型返回boolean,對于引用類型返回Object

instanceOf測試Boolean對象返回true,測試基本類型返回false
【作者建議永遠不要用Boolean對象,容易造成誤解】

Number類型

重寫了valueOf()方法,返回對象表示的基本類型的數值
重寫了toLocaleString(),toString()方法。返回字符串形式的數值。

toString()方法,可以傳遞一個表示基數的參數,則返回的值為該進制數值的字符串形式
var num = 10;
num.toString(); //"10"
num.toString(2); //"1010"二進制表示
num.toString(10); // "10" 十進制表示

toFixed()方法,按照指定的小數位返回數值的字符串表示,能夠自動舍入
var num = 10;
num.toFixed(2); // "10.00"
var num1 = 10.005;
num1.toFixed(2); // "10.01"

toExponential() 返回以指數表示的數值的字符串形式,參數為結果中的小數位數
var num = 10;
num.toExponential(1); // "1.0e+1"

toPrecision() 可能返回固定大小格式,可能返回指數格式。參數表示數值的所有數字的位數【不包括指數部分】。會自動舍入選擇最準確的形式。可以表現1到21位小數。
var num = 99;
num.toPrecision(1); // "1e+2"
num.toPrecision(2); // "99"
num.toPrecision(3); // "99.0"
【仍不建議直接實例化Number對象。原因與顯示創建Boolean對象一樣】

String類型

重寫了valueOf()、toLocaleString()、toString(),都返回對象表示的基本字符串值。

length屬性 表示字符串中包含的字符

charAt() 以單字符字符串形式返回給定位置的字符

charCodeAt() 以單字符字符串形式返回給定位置的字符編碼

var stringValue = "hello world";
stringValue.charAt(1); //"e"
stringValue.charCodeAt(1); // "101"
//IE8及其他主流瀏覽器支持方括號方式訪問。
stringValue[1];// "e"

concat() 將一個或多個字符串拼接起來。

var stringValue = "hello ";
var result = stringValue.concat("world");//"hello world"
console.log(stringValue);//"hello "
//可接受任意多個參數【更普遍做法是:使用+加號操作符】
var result1 = stringValue.concat("world","!");//"hello world!"

slice() slice(start,end),截取start到end的字符串,不包括end。

substr() substr(start,n),截取從start開始的n個字符

substring() substring(start,end),截取從start到end的字符串,不包括end。

//都返回一個基本類型的字符串值,對原始字符串沒有任何影響
//若沒有制定第二個參數,默認將字符串長度作為結束位置
var stringValue = "hello world";
stringValue.slice(3); //"lo world"
stringValue.substring(3); //"lo world"
stringValue.substr(3); //"lo world"

stringValue.slice(3,7); //"lo w"
stringValue.substring(3,7); //"lo w"
stringValue.substr(3,7); //"lo worl"

//負數情況
//slice會將傳入的負值與字符串長度相加
//substring會將所有負數轉換為0
//substr會將負數的第一個參數加上字符串長度,負的第二個參數轉換為0
stringValue.slice(-3);//"rld"
stringValue.substring(-3);//"hello world"
stringValue.substr(-3);//"rld"

stringValue.slice(3,-4);//"lo w"
stringValue.substring(3,-4);//"hel"
stringValue.substr(3,-4);//""空字符串

indexOf() 從字符串開頭向后搜索,返回子字符串的位置。沒有則返回-1

lastIndexOf() 從字符串末尾向后搜索,返回子字符串的位置。沒有則返回-1

//indexOf和lastIndexOf都接受第二個參數,表示從字符串中的哪個位置開始搜索
//indexOf則是從參數指定位置向后搜索
//lastIndexOf則是從參數指定位置向前搜索
var stringValue = "hello world";
stringValue.indexOf("o"); // 4
stringValue.indexOf("o",6);// 7

trim() 創建字符串的副本,刪除前置及后綴的所有空格

toLowerCase() 轉換為小寫

toLocaleLowerCase() 。轉換為針對地區的小寫方式

toUpperCase() 。轉換為大寫

toLocaleUpperCase() 。轉換為針對地區的大寫方式

match() 本質上與調用RegExp的exec()方法相同,只接受一個參數,要么是正則表達式,要么是RegExp對象。

var text = "cat, bat, sat, fat";
var pattern = /.at/;

var matches = text.match(pattern);
console.log(matches.index); // 0
console.log(matches[0]); // "cat"
console.log(pattern.lastIndex);//0
console.log(matches); // ["cat", index: 0, input: "cat, bat, sat, fat"]

search() 參數要么是正則表達式,要么是RegExp對象。返回字符串中第一個匹配項的索引。沒有找到返回-1.【從字符串開頭向后查找】

var text = "cat, bat, sat, fat";
var pos = text.search(/at); //1

replace() 。替換子字符串。接受兩個參數,第一個可以是RegExp對象或一個字符串,第二個字符串可以是一個字符串或一個函數。

var text = "cat, bat, sat, fat";
var result = text.replace("at","ond");//"cond, bat, sat, fat"
//若需要替換所有字符串,則需要提供一個正則表達式,并制定全局標志g
result = text.replace(/at/g,"ond");//"cond,bond,sond,fond"

//只有在一個匹配項的情況下,會向這個函數傳遞3個參數:模式匹配項、模式匹配項在字符串中的位置和原始字符串。
function htmlEscape(text){

   return text.replace(/[<>"&]/g, function(match, pos, originalText){
       switch(match){
           case "<":
               return "<";
           case ">":
               return ">";
           case "&":
               return "&";
           case """:
               return """;
       }
   });

}

htmlEscape("

Hello

");
//"

Hello

"

split() 。基于制定分隔符將一個字符串分割成多個字符串

//接受可選的第二個參數,用于指定數組大小
var colorText = "red,blue,green,yellow";
var color1 = colorText.split(",");//["red", "blue", "green", "yellow"]
var color2 = colorText.split(",",2);//["red", "blue"]
var color3 = colorText.split(/1+/);//["", ",", ",", ",", ""]
//正則表達式感覺一臉懵逼,看來明天要研究一下了。

localCompare() 比較兩個字符串。

字符串在字母表中排在參數之前,返回負數【一般是-1】
字符串相等,返回0
在參數之后,返回正數【一般是1】
var stringValue = "yellow";
stringValue.localeCompare("brisk"); //1
stringValue.localeCompare("yellow"); //0
stringValue.localeCompare("zoo"); //-1

, ?

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79459.html

相關文章

  • JavaScript學習總結(一)基礎部分

    摘要:前綴規范每個局部變量都需要有一個類型前綴,按照類型可以分為表示字符串。例如,表示以上未涉及到的其他對象,例如,表示全局變量,例如,是一種區分大小寫的語言。布爾值與字符串相加將布爾值強制轉換為字符串。 基本概念 javascript是一門解釋型的語言,瀏覽器充當解釋器。js執行時,在同一個作用域內是先解釋再執行。解釋的時候會編譯function和var這兩個關鍵詞定義的變量,編譯完成后從...

    AlanKeene 評論0 收藏0
  • JavaScript-包裝對象

    摘要:三包裝對象的概念在中,一切皆對象,包括三種原始類型的值數值字符串布爾值,在一定條件下,也會自動轉為對象,也就是原始類型的包裝對象。每當讀取數字字符串和布爾值的屬性或方法時,創建的臨時對象稱做包裝對象。 一、ECMAScript數據類型 (1)最新的 ECMAScript 標準定義了 7 種 數據類型: 6種 原型類型: Boolean. 布爾值,true 和 false. null...

    BakerJ 評論0 收藏0
  • JavaScript中的數據類型

    摘要:八進制字面值的第一位必須是,然后是八進制數字序列。十六進制字面量的前兩位必須是,后跟任何十六進制數字以及。而自動創建的基本包裝類型的對象,則只存在于一行代碼的執行瞬間,然后立即銷毀。 前言 ECMAScript 迄今為止標準定義了 7 種數據類型:6 種原始類型-- String、Number、 Boolean、 Undefined、Null 和 Symbol;1 種引用類型-- O...

    szysky 評論0 收藏0
  • js基礎深入淺出

    摘要:當多個事件觸發的時候,會把異步事件依次的放入里等同步事件執行完之后,再去隊列里一個個執行拾遺常用方法總結面試的信心來源于過硬的基礎參考高級程序設計你所不知道的深入淺出知識點思維導圖經典實例總結那些剪不斷理還亂的關系 持續不斷更新。。。 基本類型和引用類型 vue props | Primitive vs Reference Types 基本類型和字面值之間的區別 基本類型和字面值相等,...

    phodal 評論0 收藏0
  • JavaScript即學即用教程[1]-類型系統

    摘要:如圖反而,由于這些的都是繼承自,所以原型鏈拐向了。因此這樣一個實例,他順著原型鏈是找到了如圖選學內容如果我們刨根問底,去尋找和的根源的話,那這個問題又稍微有點復雜了。 基本類型 Number, Boolean, String, null, undefined 什么樣的變量是 undefined 聲明了變量卻沒賦值 未聲明的變量 包裝類型 其實js里面也有像java,c#里所謂的包裝...

    toddmark 評論0 收藏0

發表評論

0條評論

explorer_ddf

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<