成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

javascript 基本包裝類型總結(jié)

explorer_ddf / 1087人閱讀

摘要:實(shí)際上,每當(dāng)讀取一個(gè)基本類型值時(shí),后臺(tái)就會(huì)創(chuàng)建一個(gè)對(duì)應(yīng)的基本包裝類型的對(duì)象。參數(shù)表示數(shù)值的所有數(shù)字的位數(shù)不包括指數(shù)部分。原因與顯示創(chuàng)建對(duì)象一樣類型重寫了,都返回對(duì)象表示的基本字符串值。轉(zhuǎn)換為針對(duì)地區(qū)的小寫方式。

讀《javasrcipt 高級(jí)程序設(shè)計(jì)》筆記。
ECMAScript提供了3種特殊的引用類型:Boolean,Number,String。實(shí)際上,每當(dāng)讀取一個(gè)基本類型值時(shí),后臺(tái)就會(huì)創(chuàng)建一個(gè)對(duì)應(yīng)的基本包裝類型的對(duì)象。

Boolean類型

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

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,但這是一個(gè)對(duì)象,所以被轉(zhuǎn)換為true。所以第一個(gè)result 為true。
基本類型與引用類型的布爾值的區(qū)別:

typeof對(duì)于基本類型返回boolean,對(duì)于引用類型返回Object

instanceOf測(cè)試Boolean對(duì)象返回true,測(cè)試基本類型返回false
【作者建議永遠(yuǎn)不要用Boolean對(duì)象,容易造成誤解】

Number類型

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

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

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

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

toPrecision() 可能返回固定大小格式,可能返回指數(shù)格式。參數(shù)表示數(shù)值的所有數(shù)字的位數(shù)【不包括指數(shù)部分】。會(huì)自動(dòng)舍入選擇最準(zhǔn)確的形式??梢员憩F(xiàn)1到21位小數(shù)。
var num = 99;
num.toPrecision(1); // "1e+2"
num.toPrecision(2); // "99"
num.toPrecision(3); // "99.0"
【仍不建議直接實(shí)例化Number對(duì)象。原因與顯示創(chuàng)建Boolean對(duì)象一樣】

String類型

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

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

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

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

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

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

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

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

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

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

//都返回一個(gè)基本類型的字符串值,對(duì)原始字符串沒有任何影響
//若沒有制定第二個(gè)參數(shù),默認(rèn)將字符串長(zhǎng)度作為結(jié)束位置
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"

//負(fù)數(shù)情況
//slice會(huì)將傳入的負(fù)值與字符串長(zhǎng)度相加
//substring會(huì)將所有負(fù)數(shù)轉(zhuǎn)換為0
//substr會(huì)將負(fù)數(shù)的第一個(gè)參數(shù)加上字符串長(zhǎng)度,負(fù)的第二個(gè)參數(shù)轉(zhuǎn)換為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都接受第二個(gè)參數(shù),表示從字符串中的哪個(gè)位置開始搜索
//indexOf則是從參數(shù)指定位置向后搜索
//lastIndexOf則是從參數(shù)指定位置向前搜索
var stringValue = "hello world";
stringValue.indexOf("o"); // 4
stringValue.indexOf("o",6);// 7

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

toLowerCase() 轉(zhuǎn)換為小寫

toLocaleLowerCase() 。轉(zhuǎn)換為針對(duì)地區(qū)的小寫方式

toUpperCase() 。轉(zhuǎn)換為大寫

toLocaleUpperCase() 。轉(zhuǎn)換為針對(duì)地區(qū)的大寫方式

match() 本質(zhì)上與調(diào)用RegExp的exec()方法相同,只接受一個(gè)參數(shù),要么是正則表達(dá)式,要么是RegExp對(duì)象。

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() 參數(shù)要么是正則表達(dá)式,要么是RegExp對(duì)象。返回字符串中第一個(gè)匹配項(xiàng)的索引。沒有找到返回-1.【從字符串開頭向后查找】

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

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

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

//只有在一個(gè)匹配項(xiàng)的情況下,會(huì)向這個(gè)函數(shù)傳遞3個(gè)參數(shù):模式匹配項(xiàng)、模式匹配項(xiàng)在字符串中的位置和原始字符串。
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() ?;谥贫ǚ指舴麑⒁粋€(gè)字符串分割成多個(gè)字符串

//接受可選的第二個(gè)參數(shù),用于指定數(shù)組大小
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+/);//["", ",", ",", ",", ""]
//正則表達(dá)式感覺一臉懵逼,看來明天要研究一下了。

localCompare() 比較兩個(gè)字符串。

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

, ?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/79459.html

相關(guān)文章

  • JavaScript學(xué)習(xí)總結(jié)(一)基礎(chǔ)部分

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

    AlanKeene 評(píng)論0 收藏0
  • JavaScript-包裝對(duì)象

    摘要:三包裝對(duì)象的概念在中,一切皆對(duì)象,包括三種原始類型的值數(shù)值字符串布爾值,在一定條件下,也會(huì)自動(dòng)轉(zhuǎn)為對(duì)象,也就是原始類型的包裝對(duì)象。每當(dāng)讀取數(shù)字字符串和布爾值的屬性或方法時(shí),創(chuàng)建的臨時(shí)對(duì)象稱做包裝對(duì)象。 一、ECMAScript數(shù)據(jù)類型 (1)最新的 ECMAScript 標(biāo)準(zhǔn)定義了 7 種 數(shù)據(jù)類型: 6種 原型類型: Boolean. 布爾值,true 和 false. null...

    BakerJ 評(píng)論0 收藏0
  • JavaScript中的數(shù)據(jù)類型

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

    szysky 評(píng)論0 收藏0
  • js基礎(chǔ)深入淺出

    摘要:當(dāng)多個(gè)事件觸發(fā)的時(shí)候,會(huì)把異步事件依次的放入里等同步事件執(zhí)行完之后,再去隊(duì)列里一個(gè)個(gè)執(zhí)行拾遺常用方法總結(jié)面試的信心來源于過硬的基礎(chǔ)參考高級(jí)程序設(shè)計(jì)你所不知道的深入淺出知識(shí)點(diǎn)思維導(dǎo)圖經(jīng)典實(shí)例總結(jié)那些剪不斷理還亂的關(guān)系 持續(xù)不斷更新。。。 基本類型和引用類型 vue props | Primitive vs Reference Types 基本類型和字面值之間的區(qū)別 基本類型和字面值相等,...

    phodal 評(píng)論0 收藏0
  • JavaScript即學(xué)即用教程[1]-類型系統(tǒng)

    摘要:如圖反而,由于這些的都是繼承自,所以原型鏈拐向了。因此這樣一個(gè)實(shí)例,他順著原型鏈?zhǔn)钦业搅巳鐖D選學(xué)內(nèi)容如果我們刨根問底,去尋找和的根源的話,那這個(gè)問題又稍微有點(diǎn)復(fù)雜了。 基本類型 Number, Boolean, String, null, undefined 什么樣的變量是 undefined 聲明了變量卻沒賦值 未聲明的變量 包裝類型 其實(shí)js里面也有像java,c#里所謂的包裝...

    toddmark 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<