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

資訊專欄INFORMATION COLUMN

數(shù)據(jù)類型

xavier / 3524人閱讀

摘要:,通過原型上的方法,判斷對象所屬類型數(shù)據(jù)的操作方法基本數(shù)據(jù)類型的所有方法操作都不改變原始值。對象類型的數(shù)據(jù),操作過程中始終留意引用地址的中轉(zhuǎn)概念,其原型上方法有會改變和不改變原值的兩種類型。

數(shù)據(jù)類型分類

基礎(chǔ)類型:string,number,boolean,undefined,null,symbol

對象類型:object

基礎(chǔ)類型為原始值,其值不能被修改;對象類型為引用類型,可以理解為指針,通過引用類型找到內(nèi)存中的地址,然后再進(jìn)行相關(guān)操作。

// 基本類型
var a = 10;
var b = a ;
a = 20;
console.log(b); // 10

// 對象類型
var c = { name:"hello"};
var d = c ;
c.name = "world";
console.log(d.name); // "world"
數(shù)據(jù)的創(chuàng)建 string
var str1 = "hello";
var str2 = new String("hello");
var str3 = `${"hello"}abc`

// 其他類型轉(zhuǎn)換成字符串
["h","e","l","l","o"].join(""); // "hello"
var num = 123;
num += "";
num.toString(); 
String(num); // "123"
String(true); // "true"
number
var num1 = 123;
var num2 = new Number(123);

var num3 = parseInt("12px"); // 12
var num4 = parseFloat("12.22px"); // 12.22
var num5 = Number("123");
boolean
var boo1 = true;
var boo2 = New Boolean(true);

var a = 1;
var boo2 = !!a; // true
undefined
var undef = undefined;
var a; 
a; // undefined
數(shù)據(jù)類型判斷

typeof,獲取值的所屬類型以字符串形式返回

typeof "hello"; // "string"
typeof 123; // "number"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object" (特例1)
typeof Symbol("hello"); // "symbol"

typeof {a:1} ; // "object"
typeof function(){}; // "function" (特例2)
特例1,屬于基礎(chǔ)類型的 null 經(jīng)過 typeof 操作符操作后返回的是 object;特例2,函數(shù)隸屬于對象,typeof 操作直接返回 function

instanceof,可以判斷通過 new 操作符生成的各種數(shù)據(jù)類型

var str = "hello";
str instanceof String ; // false
new String("hello") instanceof String; // true

// number,booelan 同理,(null,undefined,symbol沒有構(gòu)造函數(shù))
123 instanceof Number; // false
new Number(123) instanceof Number ; // true

true instanceof Boolean; // false
new Boolean(true) instanceof Boolean; // true
instanceof 的實(shí)質(zhì)是,判斷 instanceof 左邊對象的原型是不是在右邊對象的原型鏈中。

toString,通過 Object 原型上的 toString 方法,判斷對象所屬類型

Object.prototype.toString.call("hello"); // "[object String]"
Object.prototype.toString.call(123); // "[object Number]"
Object.prototype.toString.call(true); // "[object Boolean]"
Object.prototype.toString.call(null); // "[object Null]"
Object.prototype.toString.call(undefined); // "[object Undefined]"
Object.prototype.toString.call(Symbol("hi")); // "[object Symbol]"

Object.prototype.toString.call(function(){}); // "[object Function]"
Object.prototype.toString.call([]); // "[object Array]"
Object.prototype.toString.call(new Date()); // "[object Date]"
Object.prototype.toString.call(/w+/); // "[object RegExp]"
Object.prototype.toString.call({}); // "[object Object]"
數(shù)據(jù)的操作方法
基本數(shù)據(jù)類型的所有方法操作都不改變原始值。

對象類型的數(shù)據(jù),操作過程中始終留意引用地址的中轉(zhuǎn)概念,其原型上方法有會改變和不改變原值的兩種類型。

// 基本類型
var str = "hello";
str.toUpperCase(); // 僅返回值為 "HELLO",并不是直接在原值上修改
console.log(str); // "hello"

// 對象類型
// 改變值
var arr1 = [1,2,3];
arr1.push(4); 
arr1; // [1,2,3,4]

// 不改變值
var arr2 = [5,6,7];
arr2.concat(arr1); // 返回 [5,6,7,1,2,3,4]
arr2; // [5,6,7]

// 引用地址示例
var arr3 = [8,9]; // arr3 實(shí)則對應(yīng)的是內(nèi)存中 [8,9] 數(shù)組的引用地址,比如 x0001
var arr4 = arr3; // arr4 為 arr3 的值,即為 x0001
arr4[0]= 10; // 在對地址進(jìn)行操作和讀值時,則又通過引用找到對應(yīng)的區(qū)域進(jìn)行讀寫操作
arr3; // [10,9]
引用類型可以簡單地類比成計算機(jī)中的快捷方式。

常用又較容易混淆的操作方法:

String

剪切

方法名 說明
slice(start,end) start和end都可以為負(fù)數(shù),皆代表位置索引,從start往字符串右邊向剪切,end位置若在start左邊,則返回為空,
substr(start,length) start可為負(fù),表示定位到剪切的起始位置,length需為正數(shù),表示從起始位置往右截取的長度。
substring(index1,index2) Index1 和 index2 都為正數(shù)皆代表位置索引,兩者無序即總是取兩者之間的字符
Number

toFixed(length),返回字符串;僅對小數(shù)點(diǎn)位后,做特定長度的截取,不夠長度則補(bǔ)0,四舍五入。

var num = 123.5368;
num.toFixed(2); // "123.54"
num.toFixed(1); // "123.5"
num.toFixed(6); // "123.536800"
Array

slice 和 splice

方法名 說明
slice(start,end) start和end都可以為負(fù)數(shù),皆代表位置索引,從start元素往數(shù)組右邊淺拷貝,不包括end位置元素,end 位置若在 start 左邊,則返回空數(shù)組(類似字符串的slice),操作不影響原數(shù)組。
splice(start,len,…eles) start代表索引位置,可為負(fù);len表示要刪除的個數(shù),eles 表示要在刪除的位置中插入的元素,可多個。操作會影響到原數(shù)組。返回的為刪除的元素數(shù)組。
var arr = [1,2,3,4,5,6,7,8];

// slice 
arr.slice(-4,-1); // [5,6,7]

// splice
var data = arr.splice(0,1,99); 
arr; // [99,2,3,4,5,6,7,8]
data; // [1]

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/104890.html

相關(guān)文章

  • 數(shù)據(jù)類型——數(shù)據(jù)類型簡介及之間的轉(zhuǎn)換

    摘要:二類型轉(zhuǎn)換隱式類型轉(zhuǎn)換轉(zhuǎn)換為字符串類型任意類型轉(zhuǎn)換為類型任意類型一個加號加任意類型轉(zhuǎn)換為類型任意類型顯式類型轉(zhuǎn)換轉(zhuǎn)換為字符串類型轉(zhuǎn)換為類型將字符串或布爾值轉(zhuǎn)換為整數(shù)類型。 內(nèi)容簡介: 一.數(shù)據(jù)類型簡介 ———— 原始類型 ———— 引用類型 二.數(shù)據(jù)類型之間的轉(zhuǎn)換 一、數(shù)據(jù)類型簡介 數(shù)據(jù)類型主要分為原始類型(也有稱為基本類型/原始值)和引用類型。 1.原...

    codercao 評論0 收藏0
  • JS專題之數(shù)據(jù)類型類型檢測

    摘要:運(yùn)算符可以用來檢測某個構(gòu)造函數(shù)的屬性是否存在于另外一個要檢測對象的原型鏈上。使用方法可以獲取到變量的準(zhǔn)確的數(shù)據(jù)類型就能解決基本包裝類型的檢測錯誤和的檢測不安全。 本文共 1750 字,讀完只需 7 分鐘 數(shù)據(jù)類型有哪些? ECMAScript 的數(shù)據(jù)類型分為簡單數(shù)據(jù)類型(也被稱為基本數(shù)據(jù)類型,原始數(shù)據(jù)類型): Undefined Null String Number Boolean ...

    since1986 評論0 收藏0
  • 深入Mysql - 談?wù)勎覍?em>數(shù)據(jù)類型的認(rèn)識

    摘要:要確保沒有低估需要存儲的值的范圍,更小是相對與數(shù)據(jù)類型的最大值范圍來講的。如果無法確定哪個數(shù)據(jù)類型是最好的,就選擇你認(rèn)為不會超過范圍的最小類型。整數(shù)類型有兩個類型的數(shù)字整數(shù)和實(shí)數(shù)。列默認(rèn)為,這與其他的數(shù)據(jù)類型不一樣。 簡述 良好的邏輯設(shè)計和物理設(shè)計是高性能系統(tǒng)的基石,比如反范式設(shè)計可以加快某些類型的查詢同時也會影響另外一些類型的查詢效率,所以我們必須重視Mysql對于數(shù)據(jù)庫的設(shè)計(本...

    SillyMonkey 評論0 收藏0

發(fā)表評論

0條評論

xavier

|高級講師

TA的文章

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