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

資訊專欄INFORMATION COLUMN

引用類型基本使用

elina / 2290人閱讀

摘要:引用類型類型創(chuàng)建實例用的少等價于操作符字面量表示法這里的稱為屬性,屬性名可以用字符串。函數(shù)返回的值作為下一次的第一個參數(shù)使用,依次遍歷數(shù)組,直至結(jié)束。

引用類型 Object類型

創(chuàng)建實例:

var person = new Object() (用的少)等價于 var person = {}
person.name = "kangkang"
person.age = 18
// new 操作符

var person = {
  name:"kangkang",
  age:18,
  6:true
}
// 字面量表示法
//這里的name 稱為屬性,屬性名可以用字符串。參見json
將必須的參數(shù)存儲
function displayInfo(args) {    
  var output = ""
  if(typeof args.name == "string") {
  output += “Name: " + args.name + "
"
   console.log(args.name)
}
if( typeof args.age == "number") {
    output += “Age: " + args.age + ”
“ 
    console.log(args.age)
 }
 console.log(output)
}
displayInfo({
    name:"kangkang",
    age:18
})
displayInfo({
    name:"kangkang"
})

當一個函數(shù)需要有大量的參數(shù)以供使用時,但不是所有都是必須的,那么這樣寫就會提供很大便利,將經(jīng)常用到值使用命名參數(shù)(比如如果name和age經(jīng)常用到)處理,使用對象字面量封裝多個可選參數(shù)以供使用。

訪問屬性

屬性的訪問一般使用點號,也可以使用方括號屬性名要加引號,不過有一個就是屬性名為數(shù)值時要用方括號并且無需引號括起來(括起來也行),特殊的屬性名需要用引號包圍起來(比如第一個字符為數(shù)字,或者含有空格或運算符). 屬性的書寫也基本遵循上面規(guī)則,保留字比如class則可以用作屬性名并且不加引號。

var person = {
  name:"kangkang",
  "age":18,
  6:true
  "1a": "no",
  "a b": "i",
  "p+q": "go"
}

console.log(person.age) // 18
console.log(person["age"]) // 18
console.log(person[6]) // true
console.log(["6"]) //true
Array 類型

JavaScript 中的數(shù)組可以保存不同類型的數(shù)據(jù)
創(chuàng)建方法

Array 構(gòu)造函數(shù)

字面量方法

var apples = Array(3) // 包含3個 undefined 的的數(shù)組
var age = [3] //包含一個數(shù)值3 的數(shù)組

console.log(apples) //[undefined, undefined, undefined]
console.log(apples.length)  // 3

console.log(age) // [3]
console.log(age) //1 
訪問數(shù)組數(shù)值

通過索引訪問

var names = ["xiaoming", "xiaoqiang", "xiaojun"]
name[0]~ name[2]
console.log(names.length) // 3
length的使用
var names = ["xiaoming", "xiaoqiang", "xiaojun"]
names.length = 1
console.log(names)
// ["xiaoming"]

names.length = 4
console.log(names)
//["xiaoming", undefined, undefined, undefined]

// 數(shù)組的length 屬性可以去除和添加項
Array.isArray(names)

檢測是否為數(shù)組

轉(zhuǎn)換為數(shù)組 names.toString()

返回一個數(shù)組各項以逗號隔開的一個字符串(注意是組成了一個字符串)

names.join("-")

以指定分隔符分割數(shù)組的項并返回組成的一個字符串,不傳或者傳入undefined 都將使用逗號分割

操作數(shù)組的項 pop() 方法

棧方法,先進后出。彈出最上面的項(既然是彈出,就會返回彈出的值),無需參數(shù)。

var names = ["xiaoming", "xiaoqiang", "xiaojun"]

console.log(names.pop()) //["xiaojun"]
console.log(names) // ["xiaoming", "xiaoqiang"]
push() 方法

棧方法,先進后出。推入,將參數(shù)依次推入棧中,數(shù)據(jù)添加到數(shù)組末尾,返回最終數(shù)組長度。

var names = ["xiaoming", "xiaoqiang", "xiaojun"]

console.log(names.push("dalong")) // 4
console.log(names) // ["xiaoming", "xiaoqiang","dalong"]
shift() 方法

取出數(shù)組第一項并返回

unshift() 方法

按參數(shù)中順序?qū)⒅堤砑拥綌?shù)組開頭并返回個數(shù)

reverse() 方法
var values = [1,2,3,4,5]
values.reverse()
console.log(values) // 5,4,3,2,1
sort() 方法

默認將數(shù)組進行從小到大排序,但比較的是項的字符串Unicode位點進行排序,就會出現(xiàn)數(shù)值比較時的錯誤,所以可以傳遞一個比較函數(shù)來指定排布方式

function compare (value ,value2) {
  if(value < value2){
    return -1
}else if (value > value2) {
    return 1
}else {
    return 0
  }
}
// 這是升序排列的比較函數(shù)
function compare (value,value2){
   return value - value2
}

function compare (value,value2){
   return value > value2
}
// 這兩種形式均是從小到大排列的簡寫形式

比較函數(shù)的機制: sort接受true 和false ,對數(shù)組每一項按函數(shù)迭代比較,如上面代碼,若第一個參數(shù)(項) 小于第二個參數(shù)(項),如果想轉(zhuǎn)換位置則返回true,sort接受到true后進行位置交換。返回false則位置不變。

splice方法

這是一個很強大的數(shù)組方法

刪除 splice(2, 2)

可以刪除任意的項,接受兩個參數(shù),第一個是起始位置,第二個是刪除的項數(shù)(不是結(jié)束位置),返回被刪除的項

插入 splice(2, 0, 2)

向指定的位置插入任意數(shù)量的項,接受三個參數(shù),分別是起始位置,要刪除的項數(shù)(0項),要插入的項(可以是多個項)

替換 splice(2, 2, "a","b")

這個替換,可以不是等數(shù)量項的替換,執(zhí)行的是先刪除再插入的操作,接受的參數(shù)分別是,起始位置、要刪除的項數(shù)、要插入的項。注意到這里要刪除的項數(shù)如果是0就變成了只有插入功能了。

var colors = ["red", "green", "blue", "black"]

console.log(colors.splice(0,1)) //["red"]
console.log(colors) // ["green", "blue", "black"]
// 刪除從0 開始一個項

colors.splice(0,0,"yellow")
console.log(colors) // ["yellow", "green", "blue", "black"]
// 在0位置插入"yellow",項依次后移

colors.splice(1,2,"brown")
console.log(colors) // ["yellow", "brown", "black"]
// 從 1 開始刪除兩個項,并插入項" brown"
slice()

裁剪,可以接受一個或者兩個參數(shù),第一個參數(shù)是起始位置,第二個是結(jié)束位置(不包括這個項),若只有一個參數(shù),則作為起始位置并至數(shù)組末尾,取出起始位置到結(jié)束位置的項作為一個新數(shù)組返回,不影響原數(shù)組。

var colors = ["red", "green", "blue", "black", "yellow", "brown"]
var colors2 = colors.slice(1,3) //["green","blue","]
concat(array)

拼接,可以把參數(shù)作為值添加到數(shù)組的末尾,如果這個參數(shù)是一個數(shù)組,則會將數(shù)組中的 值拿出添加進去,返回一個被改變的新數(shù)組,原數(shù)組不變

var colors = ["red","green","blue"]
var colors2 = colors.concat("black",["yellow","brown"])


console.log(colors) // ["red", "green", "blue"]
console.log(colors2) // ["red", "green", "blue", "black", "yellow", "brown"]
indexOf() 方法 lastIndexOf()方法

均接受兩個參數(shù),分別是要查找的項和起始位置

indexOf():從數(shù)組開頭查找,第二個參數(shù)相對于開頭位置

lastIndexOf(): 從數(shù)組末尾開始查找,第二個參數(shù)是于末尾位置向前

迭代方法

接受函數(shù)作為參數(shù),運行在數(shù)組每一項上,接受的函數(shù)又可以接受三個形式參數(shù)分別作用是:
迭代的值、該項在數(shù)組的位置(索引)、數(shù)組本身

every()

對數(shù)組每一項運行給定函數(shù),只有每一項在函數(shù)運行后均為true,函數(shù)才返回true

filter()

對數(shù)組每一項運行給定函數(shù),返回一個由項在運行后且結(jié)果為true的項組成的新數(shù)組(過濾效果)

var numbers = [1,2,3,4,5,6,7,8,9]
var filterResult = numbers.filter(function(item, index ,array){
  return (item >2 )
})
console.log(filterResult)
forEach()

對數(shù)組每一項運行給定函數(shù),沒有返回值

var numbers = [1,2,3,4,5,6,7,8,9]
numbers.forEach((n,index)=> {
 numbers[index] += 2
 
})
console.log(numbers)
// [3, 4, 5, 6, 7, 8, 9, 10, 11]
map()

每一項運行函數(shù),且返回運行后的每一項組成的數(shù)組

var numbers = [1,2,3,4,5,6,7,8,9]
var mapResult = numbers.map((n)=> {
 numbers[index] += 2 //修改原數(shù)組的值
 return n*2 //返回給新數(shù)組的對應(yīng)索引的值
})
console.log(mapResult)
// [2, 4, 6, 8, 10, 12, 14, 16, 18]
some()

對每一項運行函數(shù),只要有一項運行結(jié)果為true,則器結(jié)果返回true

reduce()方法和 reduceRight()方法

歸并,接受兩個參數(shù):調(diào)用的函數(shù)和可選的初始值。調(diào)用的函數(shù)接受四個參數(shù):前一個值,當前值,索引,數(shù)組對象(這個有時會用到)。如果設(shè)置了初始值,就用初始值和第一項作為函數(shù)的參數(shù),如果沒有則是前兩項。函數(shù)返回的值作為下一次的第一個參數(shù)使用,依次遍歷數(shù)組,直至結(jié)束。

reduce()方法:從前往后開始

reduceRight()方法:從后往前開始

var values = [1,2,3,4,5]
var sum = values.reduce(function(prev, cur, index, array){
  return prev+cur
})
// 這是一個求和的操作

此為看書筆記,僅作為本人備忘使用,如有謬誤,歡迎指正 。

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

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

相關(guān)文章

  • js的基本數(shù)據(jù)類型引用數(shù)據(jù)類型

    摘要:熟悉的同學(xué)都知道,它的數(shù)據(jù)類型一般分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型復(fù)雜數(shù)據(jù)類型。基本數(shù)據(jù)類型基本數(shù)據(jù)類型有種新增。動態(tài)的屬性基本數(shù)據(jù)類型的值是沒有辦法添加屬性和方法的。類型檢測根據(jù)它的原型鏈來識別引用類型。 熟悉js的同學(xué)都知道,它的數(shù)據(jù)類型一般分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型(復(fù)雜數(shù)據(jù)類型)。那么他們之間到底有什么不同?從下面這個例子入手: var a = 1; ...

    kgbook 評論0 收藏0
  • 基本數(shù)據(jù)類型引用類型的區(qū)別詳解

    摘要:前兩天看到大神的關(guān)于基本數(shù)據(jù)類型和引用類型的區(qū)別的文章覺得寫得非常不錯,就想著在其基礎(chǔ)上加上自己平時看到的一些知識點和理解,所以就有了以下的文章基本數(shù)據(jù)類型基本數(shù)據(jù)類型包括基本數(shù)據(jù)類型是按值訪問的,就是說我們可以操作保存在變量中的實際的值基 前兩天看到kraaas大神的關(guān)于基本數(shù)據(jù)類型和引用類型的區(qū)別的文章覺得寫得非常不錯,就想著在其基礎(chǔ)上加上自己平時看到的一些知識點和理解,所以就有了...

    CoffeX 評論0 收藏0
  • 關(guān)於Javascript基本類型引用類型小知識

    摘要:變量有兩種不同的數(shù)據(jù)類型基本類型,引用類型。知識一基本類型值就是簡單的數(shù)據(jù)段引用類型值保存的是對象的引用,不是實際的對象。 ECMAScirpt 變量有兩種不同的數(shù)據(jù)類型:基本類型,引用類型。 基本的數(shù)據(jù)類型有:undefined,boolean,number,string,null. 基本類型的訪問是按值訪問的,就是說你可以操作保存在變量中的實際的值。JavaScript中除了上面的...

    iKcamp 評論0 收藏0
  • [ JS 進階 ] 基本類型 引用類型 簡單賦值 對象引用

    摘要:也就是說基本類型在賦值操作后,兩個變量是相互不受影響的。前面講引用類型的時候提到,保存在變量中的是對象在堆內(nèi)存中的地址,所以,與簡單賦值不同,這個值的副本實際上是一個指針,而這個指針指向存儲在堆內(nèi)存的一個對象。 ECMAScirpt 變量有兩種不同的數(shù)據(jù)類型:基本類型,引用類型。也有其他的叫法,比如原始類型和對象類型,擁有方法的類型和不能擁有方法的類型,還可以分為可變類型和不可變類型,...

    余學(xué)文 評論0 收藏0
  • JS學(xué)習(xí)筆記(第4章)(變量、作用域和內(nèi)存問題)

    摘要:具體來說就是當執(zhí)行流進入下列任何一個語句時,作用域鏈就會得到加長語句的塊和語句。這兩個語句都會在作用域鏈的前端添加一個變量對象。對來說,會將指定的對象添加到作用域鏈中。 1. 基本類型和引用類型的值 JavaScript變量可以用來保存兩種類型的值:基本類性值和引用類性值。基本類型值源自以下5種基本數(shù)據(jù)類型:Undefined、Null、Boolean、Number和String。基本...

    linkin 評論0 收藏0

發(fā)表評論

0條評論

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