日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

javascript引用类型

發布時間:2025/4/16 javascript 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript引用类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引用類型常被稱為 “類”,但是這在JavaScript中不太合適。它是屬性和方法的集合。

引用類型的值"對象"是引用類型的實例。

特殊的標識符和運算符
?符號類型執行操作
()函數函數調用
new構造函數調用創建新對象
?
?

new 運算符用來創建一個新對象,并調用構造函數初始化它,new 是一個一元運算符,出現在構造函數的調用之前。

在?JavaScript 中運算符 () 用于調用函數,這是一個特殊的運算符,因為它沒有固定數目的運算數

var a1 = asdf(new);? // 表示調用 asdf函數,并將返回結果 賦給 a1

var a2 = function(new){ return new } ;?? // 表示將函數賦給 a2 , 如果要調用該函數就要使用 a2(new)

Object類型

我們看到大多數引用類型值都是Object類型的實例,創建方法如下:

1) var person = new Object(); person.name = “nihao”; person.age = 29;

2) var person = { name : “nihao”, age : 29 };??? //字面量表示法,使用的人多一點。傳遞參數時,當參數是可變時,一般采用這種方法

在通過對象字面量定義對象時, 實際上不會調用 Object 構造函數.

雖然可以使用前面介紹兩種方法中任何一種定義對象, 但是開發人員比較青睞對象字面量方法, 因為這種語法要求的代碼量少, 而且能夠給人封裝的感覺, 實際上, 對象字面量也是向函數傳遞大量可選參數的首選方式. 例如:

function displayInfo(args) {

? var output = "" ;

? if (typeof args.name?== "string") {

??? output += "Name: " + args.name + "\n";

? }

? if (typeof args.age == "number") {

??? output += "Age: " + args.age + "\n";

? }

}

displayInfo ({

? name : "Nicholas",

? age : 29

});

displayInfo ({

? name : "Greg"

});

這種傳遞參數的模式最適合需要向函數傳入大量可選參數的情形,一般來講, 明明參數雖然容易處理, 但在有多個可選參數的情況下就會顯示不夠靈活, 最好的做法是對那些必須值使用命名參數, 而使用對象字面量來封裝多個可選參數.

對于對象的屬性, 既可以使用. 來訪問, 也可以使用 [] 來使用.

alert(person["name"]);? // "Nicholas"

alert(person.name);????? // "Nicholas"

但是還是建議使用 . 表示法

?

Array類型
  • 創建方法 1) var colors = new Array(20) ; //20可選?? 也可以 var colors = new Array(“red”,”blue”,”green”);? 2)字面量表示法: var colors = [“red”,”blue”,”green”] ;???????? var colors = [] ;(個人喜歡這種方法,跟以前C一樣)
  • 數組下標從 0 開始。另外具備 length屬性,colors.length . 增加length情況? var colors = [“red”,”blue”,”greed”] ; colors.length = 4 ; 此處增加了length的長度,alert( colors[3] ) ; 返回 undefined .? 增加顏色 colors[colors.length] = “black”;( 利用 length 可以方便的在數組末尾添加新項目 )
  • 轉換方法 上例,colors.toString()? // 返回結果是 red,blue,green 用逗號分隔,valueOf()一樣,使用 join方法可以用不同符號連接,例如 var colors = [ “red”,”green”,”blue”]; alert( colors.join("||") ) ;???? 返回 red||green||blue , 還有一個調用方法 toLocalString(),這個方法有的時候會調用數組內部每個元素的自己的toLocalString方法。

例如:

var person1 = {

? toLocaleString : function() {

??? return "Nicho";

? },

? toString : function() {

??? return "Nicho";

? }

};

var person2 = {

? toLocaleString : function() {

??? return "Grigorios";

? },

? toString : function() {

??? return : "Greg";

? };

}

var people = [person1, person2];

alert(people);?? // Nicho, Greg

alert(people.toString());? // Nicho,Greg? , 注意這調用的是數組 people 自身的 toString 方法

alert(people.toLocaleString());? // Nicho, Grigorios?

  • 棧方法 : 棧是一種常用的數據結構,用數組實現。 var colors = new Array() ;?? var count = colors.push(“red”,”green”) ; alert( count ); count = colors.push(“black”);? var item =? colors.pop() ;?
  • 隊列方法 : 也是一種常用的數據結構,用數組實現。var colors = new Array();? var count = colors.push(“red”,”green”) ; alert(count ); count = colors.push(“black”); alert(count);??? var item = colors.shift() ; //取出第一個元素,即 “red”另外,unshift()方法,與shift()方法相反,它能在數組前端添加任意個項并返回叔祖長度,同時使用 unshift()和pop()方法,可以從相反方向來模擬隊列
  • 重排序方法 : sort() 和 reverse()? sort 比較時,會將數組的每一項目調用它自己的toString()方法,使其成為字符串再進行對比,這樣,就會有個問題,如例子 var values = [0,1,5,10,15] ; values.sort(); alert(values) ;???? //返回 0,1,10,15,5?? 并非按照數字的內容進行排列,而是按照字符串的內容進行排列。由此,要加入比較函數 value.sort( compare ) ; -->這樣就返回正確的值了, sort 函數所接收的參數是函數
1: function compare(value1, value2){ 2: if (value1 < value2 ) { 3: retun -1 ; 4: }else if ( value1 > value2 ){ 5: return 1; 6: }else{ 7: return 0 ; 8: } 9: }

?

Array.isArray(value) , 判斷value對象到底是不是數組, 如果是就會返回true, ie9+ 等最新瀏覽器支持.

  • 操作方法 concat() 連接方法? var colors = [“red”,”green”];? var colors2 = colors.concat(“yellow”,[“black”,”brown”]) ;? alert(colors) ;?? // red,green,blue??? alert(colors2);???? //red,green,blue,yellow,black,brown?? slice()方法,用于根據已經存在的數組,按照想要的位置創建數組,例如 var colors = [“red”,”blue”,”green”,”yellow”];?? var colors2 = colors.slice(1); var colors3 = colors.slice( 1,3 ) ; 只有1個參數時,表示從該參數位置開始到最后,如果有2個參數則表示從第一個參數開始,到第2個參數為止,alert(colors2 ) //返回 blue,green,yellow alert( colors3) ;? //返回 blue,green,yellow??? splice()方法 多種用法,主要用途是向數組中插入項,刪除- splice( 0,2 ) 其中0是刪除啟始位置,2表示刪除個數。(返回的是被刪除元素的數組)?插入-splice(2,0,”red”,”green”)其中2表示插入位置,0表示要刪除的項數,后邊的是插入的內容? 替換-splice(2,1,”red”,”green”)其中2是插入位置,1是刪除項數,后邊的是插入內容,其實替換和刪除格式相同,只是,刪除時,第2項 即刪除項數應該為 0 。可以看出, splice 的第一個參數是啟始位置, 第2個參數是要刪除的項的個數, 后面接的是插入的數據.

  • ECMAScript 5 為數組實例增加了兩個位置方法, indexOf() 和 lastIndexOf(), 這兩個方法都接收兩個參數, 要查找的項和(可選的)表示查找起點位置的索引.其中 indexOf方法從數組頭開始, lastIndexOf 方法從數組尾開始查找. 如果找到, 返回找到的索引位置, 如果沒找到, 返回 -1, 另外在測試比較時, 會使用全等===, 來進行, 例如

var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];

alert(numbers.indexOf(4));?? // 返回結果是3, 可見還是從下標 0 開始

alert(numbers.lastIndexOf(4));? // 返回結果是5, 從后邊開始查找, 但是對應的下標還是正序的.

alert(numbers.indexOf(4, 4));?? // 找 "4" , 并且從第?4 項 開始查找. 返回結果是 5. ( 所有的地方, 記住下標從 0 開始, 統一標準 )

  • 迭代方法( ECMAScript 5 )

every(); 對數組的每一項都運行給定函數, 如果每一項都返回true, 則返回true (all 的關系, 數組中每個值, 即所有的 運行該函數都要返回true)

filter(); 對數組的每一項都運行給定函數, 返回 該函數返回 true 的數組項 組成新的數組( 注意, 這是原數組項組成一個新的數組 )

forEarch(); 對數組的每一項都運行給定函數, 沒有返回結果

map(); 對數組的每一項都運行給定函數, 每次調用函數的結果組成一個數組. (執行函數的結果, 會組成一個數組)

some(); 對數組的每一項都運行給定函數,?只要有一項執行函數后返回位 true, 那么就返回為 true.

例如:

var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];

var everyResult = numbers.every(function(item, index, array) {

? return (item > 2);

}) ;

alert(everyResult);? // false

?

var someResult = numbers.some(function(item, index, array) {

? return(item > 2);

});

alert(someResult)? // true

var filterResult = numbers.filter(function(item, index, array) {

? return (item > 2);

});

alert(filterResult);? // [3, 4, 5, 4, 3]

var mapResult = numbers.map(function(item, index, array) {

? return (item * 2);

});

alert(mapResult);?? // [2, 4, 6, 8, 10, 8, 6, 4, 2]

可見, 參數是一樣的, item, index, array...

  • 縮小方法( ECMAScript 5 )

reduce(), reduceRight(), 都會迭代處理數組所有項, 一個從前開始, 一個從后開始, 會接收 4 個參數, 當前值, 下一個值, 項的索引, 數組對象, 例如:

var values = [1, 2, 3, 4, 5];

var sum = values.reduce(function(prev, cur, index, array) {

? return prev + cur;

});

alert(sum);? // 15

var sum = values.reduceRight(function(prev, cur, index, array) {

? return prev + cur;

});

alert(sum);? // 15

可以看到, 函數運行后, 數組項沒有發生改變, 只不過可以通過這種辦法來對數組的每一項進行迭代, 同時, 可以利用當前項 和 后一項, 來參與某些計算.?

Date 類型

var now = new Date() ; 在調用Date構造函數時而不傳遞參數的情況下,新創建的對象自動獲得當前日期和時間。如果想根據特定的日期和時間創建日期對象,必須傳入該日期的毫秒數,所以就要調用2個方法,Date.parse() , date.UTC() ,? 其中Date.parse()接收字符串參數,例如 var someDate = new Date ( Date.parse(“May 25, 2004”)) ;? 如果此字符串不能被識別,則返回 NaN .? Date.UTC() 參數分別是 年,月(1月從0開始),日,小時,分鐘,秒,毫秒,其中只有前兩個參數是必須的。var allfives = new Date(Date.UTC(2005,4,5,17,55,55)) ;? //個人感覺這個好一點,Date類型是可以進行比較的,例如 var date1 = new Date( 2007, 0, 1 );??? var date2 = new Date( 2007, 1, 1) ; alert( date1 < date2 ) ; 返回 true, alert( date1 >date2); 返回 false.

  • 日期格式化方法 toDateString() , toTimeString() toLocaleDateString() , toLocaleTimeString() , toUTCString()

還有很多別的日期的方法

?

RegExp類型 ( 正則表達式 ) ( 與 linux 一樣 )

var expression = / pattern / flags ;

其中 模式為 pattern , flags 標志 :

g 表示全局模式, 即模式將被應用于所有字符串, 而非在發現第一個匹配項時就立刻停止.

i 表示不區分大小寫, 即在確定匹配項時忽略模式與字符串的大小寫

m 表示多行模式, 即在到達一行文本末尾時還會繼續查找下一行中是否存在模式匹配的項.

例如 : var pattern2 = / [bc]at/i ; /* 不區分大小寫,匹配第一個 "bat" 或 "cat" */

需要轉義的字符 : ( [ { \ ^ $ | ) ? * + . ] }

View Code

RegExp 對象的主要方法是 exec (),該方法接受一個參數,即要應用模式的字符串。

var text = "mom and data and baby"

var pattern = / mom ( and dad ( and baby ) ? )? /gi ;

var matches = pattern.exec( text );

正則表達式是由字符串所組成的表達式,用于匹配和替換或者查找特定的字符串。( 多數編程語言都提供對正則表達式的支持 ).

主要用來確認字符串中, 是否可以捕獲到相應的正則表達式.

var searchPattern = new RegExp( 's+' ) ;???? // 第一種創建方法

var searchPattern = / s+ / ;????????????????????????????? // 第二種方法,這種常用

正則表達式的實例屬性 :

global: 表示表達式是否設置了 g 標志

ignoreCase: 表示標傲世是否設置了 i 標志

lastIndex: 整數, 表示開始搜索下一個匹配項的字符位置, 從0算起.

multiline: 表示是否設置了 m 表示

source: 按照字面量形式, 而非傳入構造函數中的字符串模式.

RegExp對象只有2種實例方法 : test 和? exec

例子 : var re = / JavaScript rules / ;

var str = "JavaScript rules" ;

if (re.test(str)) document.writeln("I guess it does rule") ;? //默認匹配是區分大小寫的

var expression = new RegExp("pattern", 'ig') ;?? // 等同于下面的定義

var expression = / pattern / flags ;? // parttern 是各種正則表達式 g- 全局, i- 不區分大小寫, m-多行,

pattern 可以包含許多符號 : ( [ { \ ^ $ | ) ? * + . ] }????????? \轉義字符

全局匹配是查找與正則表達式匹配的所有字符串,而忽略正則表達式的位置,如果不使用全局匹配選項g,那么只會返回第一個匹配項。

i : 不區分大小寫

m : 多行模式,即在到達一行文本末尾時,繼續查找下一行中是否存在與模式匹配的項。

var pattern1 = /at / g ;?? // 匹配字符串中所有 "at" 的實例

var pattern2 = / [bc]at/ i ; // 匹配第一個 "bat" 或 "cat" , 不區分大小寫???????? 等價定義 var pattern2 = new Regexp("[bc]at", "i" ); // 構造函數

var pattern3 = / .at/ gi ;?? //匹配全部以 .at結尾的字符, 不區分大小寫

正則表達式元素符號 : ( [ { \ ^ $ | ) ? * + . ] }???? \轉義字符?? 詳細如下 :

a | b : a 或 b ( 一樣Linux?)

s{2} : 大括號內表示出現次數, s出現2次 , s{2,4} 2-4 次數 ( 一樣Linux )

\s : 如果是一般字符, 例如 s , \s 表示特殊字符 ( 空格,制表符,換行符)

\+ : 如果是特殊字符 : 則就是 + 號

* : 表示出現0次或多次 ( 一樣Linux )

+ : 表示出現1次或多次

? : 表示出現0次或1次

. : 表示只出現1次? 除了換行符號之外任意字符 等價于 [ ^\n ] ( 一樣Linux )

^ : 非 例如 [ ^ 0-9 ] , var regExp = / ^The/im ;?? [^abc] 除了 abc 以外全部都ok , 即全部否定 ( 一樣Linux )

$ : 結尾 s$ 表示以s結尾的都有效 ( 一樣Linux )

[ ] : 字符類( 即中括號 )? / [abc] / 表示和字母 "a" , "b " , "c " 中的任何一個都匹配 . ( 一樣Linux )

( ) : 表示對模式進行分組

exec() : 該方法專門為捕獲組而設計的,exec()接受一個參數,即要應用模式的字符串,然后返回包含第一個匹配項信息的數組 ,或者在沒有匹配項的情況下返回 null,返回的數組雖然是 Array 的實例,但包含兩個額外的屬性 : index 和 input 其中,index 表示匹配項在字符串中的了位置,input表示應用正則表達式的字符串。返回的數組中,第一個元素會是完全匹配的內容,第2個元素則是匹配分組模式的內容。

?

方法
exec(string): 對string進行正則處理,并返回匹配結果.
exec方法返回的數組有3個屬性,分別是input、index和lastIndex. (lastIndex 不常用)
1 input 屬性是整個被搜索的字符串。
2 index屬性是指匹配在整個被搜索字符串中的位置。

test(string): 測試string是否含有匹配結果 ( 返回 boolean類型 )

Function類型

JavaScirpt中的 fucntion 是比較特殊的,因為它是一個真真正正存在的類型,也就是說可以通過定義變量來保存它,比如 : var tex = function( num){}, 此時的 text中保存的真的就是該函數,而如果想執行該函數,就需要 () 的幫助,即 tex() ;這樣表示執行該函數。

JavaScript中的 function 是對象, 每個函數都是 Function類型的實例, 而且都與其他引用類型一樣具有屬性和方法. 由于函數式對象, 因此函數名實際上也是一個指向函數對象的指針, 不會與某個函數綁定,

函數聲明和函數表達式的區別 : 1)函數聲明 function abc(num1,num2){} ;???? 2) 表達式 var tex = function(num1,num2){} ;? 其中函數聲明可以在被調用之后聲明,而函數表達式在使用時,是在解釋執行的時候,必須前邊要有該函數的定義。

由于函數名僅僅是指向函數的指針, 因此函數名與包含對象指針的其他變量沒有什么不同, 換句話說, 一個函數可能會有多個名字, 例如:

function sum(num1, num2) {

? return num1 + num2;

}

alert(sum(10, 10));? // 20

var anotherSum = sum;? // anotherSum 與 sum 一樣, 都是指向函數對象的一個指針.

alert(anotherSum(10, 10));? // 20

sum = null;? // 釋放了一個指針, 但是沒關系, 在堆內存中, 還有另外一個指針 anotherSum 連接著函數對象, 所以函數對象不會被釋放

alert(anotherSum(10, 10));? // 20

解析器會先讀取函數聲明,并使其在執行任何代碼之前可用,例如

所謂函數聲明, 就是指單獨的, javascript 在編譯的時候, javascript引擎會在第一遍聲明函數并將它們放到源代碼樹的頂部, 所以即便你的聲明部分在調用部分之后, 也沒關系, 因為編譯器已經將它挪到了頂部.

但是函數的表達式, 就是下邊的第2種則不行, 它只有到這條語句真正運行時才會被解析, 所以第 2 段代碼不能執行.

function abc() {

? // 函數體

}

1: //可以執行 2: alert( sum(10,10)) ; 3: function sum(num1, num2){ 4: return num1 + num2 ; 5: } 6: ? 7: // 不可以執行 8: alert( sum(10,10)) ; 9: var sum = function (num1, num2){ 10: return num1 + num2 ; 11: } ; //注意此處有個 ; 號

沒有重載

因為函數名實際上是指針變量, 所以, 兩個指針變量不能有一樣的名字。要訪問函數的指針而不執行函數的話, 必須去掉函數名后面的那對圓括號.

作為值得函數, 因為在javascript中, 完全可以把一個函數當做是一個變量來看待, 以下例子就是講函數本身看成一個值, 注意, 這不要把函數的返回值混為一談, 而是把這個函數本身作為結果返回的結果.

1 /* 2 * 這個例子主要說明, 函數作為參數傳遞. 3 * 將 add10 函數本身傳遞給了 someFunction 4 */ 5 function callSomeFunction(someFunction, someArgument) { 6 return someFunction(someArgument); 7 } 8 9 function add10(num) { 10 return num + 10; 11 } 12 13 var result1 = callSomeFunction(add10, 10); 14 alert(result1); // 20 15 16 function getGreeting(name) { 17 return "Hello, " + name; 18 } 19 20 var result2 = callSomeFunction(getGreeting, "Nicholas"); 21 alert(result2); // "Hello, Nicholas"

可以從一個函數中返回另一個函數, 而且這也是極為有用的一種技術. 例如, 假如有一個對象數組, 我們想要根據某個對象屬性對數組進行排序, 而傳遞給數組sort() 方法的比較函數要接收兩個參數, 即要比較的值, 可是, 我們需要一種方式來指明按照那個屬性來排序, 要解決這個問題, 可以定義一個函數, 它接收一個屬性名, 然后根據這個屬性名來創建一個比較函數, 例如下邊:

( 該函數返回的是一個函數,而不是內部函數執行的結果 )

1: function createComparisonFunction(propertyName){ 2: return function(object1, object2){ 3: var value1 = object1[propertyName]; 4: var value2 = object2[propertyName]; 5: if(value1 < value2){ 6: return -1; 7: }else if(value1 > value2){ 8: return 1; 9: }else{ 10: return 0; 11: } 12: }; 13: } 14: ? 15: var data = [{name:"zachary", age: 28}, {name: "nicholas", age:29}]; 16: data.sort(createComparisonFunction("name")); 17: alert(data[0].name); //nicholas 18: ? 19: data.sort(createComparisonFunction("age")); 20: alert(data[0].name); //zachary 21: ?

?以上例子, 首先, sort() 方法的參數是一個函數, 而 createComparisonFunction("name") 這個函數的調用本身就是返回一個函數, 而這個返回的函數正式sort()想要的, 所以, sort()的參數并不是想要 某個實際的值, 而是一個函數, 通過改變"name" 這個參數, 就可以根據對象的不同屬性值來定義 compare 函數, 即 sort 所需要的比較函數. 所以, 個人覺得不要想的太復雜, return function , 那么就把 function 當做一個值來看待, 返回的就是它, 至于 function 函數里邊是否有 return 都不需要關心.

函數內部屬性

  • arguments : 它是一個類似于數組的對象, 包含傳入函數中的所有參數, 另外arguments還有個屬性callee, 該屬性是一個指針, 指向擁有arguments對象的函數,在遞歸調用時,十分有用。

function factorial(num) {

? if (num <= 1) {

??? return 1;

? } else {

??? return num * factorial(num - 1)

? }

}

如上, 遞歸函數定義是沒有問題, 但是遞歸函數內部與函數名僅僅耦合在一起, 這樣, 當你要改變函數名稱時, 或者 var aaa = factorial;?就需要同時修改多個地方, 所以看如下例子:

function factorial(num) {

? if (num <= 1) {

???? return 1;

? } else {

??? return num * arguments.callee(num - 1);

? }

}

  • this : 引用的是函數拘以執行操作的對象-或者說 this是函數在執行時所處的作用域,例如當在網頁的全局作用域中調用函數時,this對象引用的就是window,所以this基本上就是指這個函數所屬的對象。
  • caller, ECMAScript 5 中有, 保存調用當前函數的函數引用, 即保存著調用者, 這個函數本身是被調用者.
函數的屬性和方法
  • length 表示函數希望接收的個數 ( 參數個數 ) ( 利用此內容可以在一個函數內執行不同的代碼 )
  • propotype 保存它們所有實例方法的真正所在,換句話,類似 toString() 和 valueOf() 等方法實際上都保存在 prototype 名下,只不過通過各自對象的實例訪問罷了。這個 propotype 很耐人尋味, 貌似 javascript 有3大陣營, 1是類本身, 例如靜態變量, 靜態方法保存在這里, 2是propotype陣營, 這里指保存那些被所有實例所繼承的方法, 但是它是需要有實例的, 所以有區別于陣營1, 陣營1的訪問是通過類名的, 例如 Math.PI 等等, 3是 實例, 即那些通過類模板而創造出來的實例.
  • apply() 接受2個參數,1是在其運行函數的作用域,另一個是參數數組 (arguments , 或Array實例 ) call 與 apply() 類似,只是參數 1是在其運行函數的作用域,其他的參數要一一列出。( 它們真正強大的地方是能夠擴充函數賴以運行的作用域 )

  • call() 方法,call方法和apply()方法的作用相同,區別是接受參數方式不同,call()傳遞的參數必須逐個列舉出來。前邊的this都相同

基本包裝類型

Boolean, Number, String

一般都是自動包裝了.

String 類型

var s1 = "some text";

var s2 = s1.substring(2);

var stringValue = "Hello, world"

alert(stringValue.length);   // 11

alert(stringValue.charAt(1));  // "e", 因為下標從 0 開始

alert(stringValue.charcodeAt(1));   // 輸出"101", 返回的是字符編碼, 貌似ASC|| 編碼

var result = stringValue.concat("world");  // 字符串操作, 連接, 也可以使用 + 號 來進行字符連接

var result = stringValue.concat("world", "!");?

另外還有 slice(), substr() 和 substring()

sbtstring(), slice(), 兩個參數, 起始位置和結束位置(標號)

substr(), 兩個參數, 起始位置和個數.

var stringValue = "hello world";

alert(stringValue.slice(3));  // "lo world", 如果不給定第2個參數, 這三個函數均表示截取字串到最后

alert(stringValue.substring(3));  // "lo world", 如果不給定第2個參數, 這三個函數均表示截取字串到最后

alert(stringValue.substr(3));  // "lo world", 如果不給定第2個參數, 這三個函數均表示截取字串到最后

alert(stringValue.slice(3, 7));  // "lo w", 如果不給定第2個參數, 這三個函數均表示截取字串到最后

alert(stringValue.substring(3, 7));  // "lo w", 如果不給定第2個參數, 這三個函數均表示截取字串到最后

alert(stringValue.substr(3, 7));  // "lo worl", 如果不給定第2個參數, 這三個函數均表示截取字串到最后

在傳遞給這些方法的參數是負值的情況下, 它們的行為就不盡相同了, 其中,

slice() 方法會將傳入的負值與字符串長度相加,

substr() 方法將負的第一個參數加上字符串的長度, 而將負的第而個參數轉換為0,

substring() 方法會將所有的負值參數轉換為0, 參照如下例子:

var stringValue = "hello world";

alert(stringValue.slice(-3));  //"rld", -3 + 11 = 8, 所以實際上相當于調用了 slice(8)

alert(stringValue.substr(-3));  //"rld", -3 + 11 = 8, 所以實際上相當于調用了 substr(8)

alert(stringValue.substring(-3));  //"hello world", 因為它會將負數轉換成 0, 所以實際上相當于調用了 substring(0)

alert(stringValue.slice(3, -4));  //"lo w",?第 2 個參數換傳喚成 7, -4 + 11 = 7, 所以實際相當于調用 slice(3, 7), 不包括第7個字符

alert(stringValue.substring(3, -4));  //"hel", 第 2 個參數換傳喚成 0,?所以實際相當于調用 substring(3, 0), 因為后邊的參數小于前邊的參數, 所以實際調用 substring(0, 3)

alert(stringValue.substr(3, -4));  //"", 第 2 個參數換傳喚成 0, 因為這個0是位數, 所以就相當于不截取子串, 所以返回的是空串.

字符串位置的方法

indexOf, lastIndexOf() 沒找到返回-1

alert(stringValue.indexOf("o"));  // 4

alert(stringValue.lastIndexOf("o")) // 7

另外還可以加一個起始位置的參數,

trim() 方法, 刪除字符串前后的空格

toLowerCase(), toLocaleLowerCase()? // local 的內容是針對地區不一樣, 少數語言, 例如 土耳其語的轉換方法, 估計一般不用

toupperCase(), toLocalUpperCase()

?字符串的匹配方法

var text = "cat, bat, sat, fat";

var pattern = /.at/;

// 與 pattern.exec(text) 相同

var matches = text.match(pattern);

alert(matcher.index);  // 0

alert(matches[0]);  // "cat"

alert(pattern.lastIndex);  // 0

還有一個 search, 用法基本相同

var text = "cat, bat, sat, fat";

var pos = text.search(/at/);

alert(pos);  // 1, 如果沒有匹配的, 就會返回 -1

replace() 替換方法, 兩個參數, 后邊的參數是使用替換的內容, 前邊參數或者是個正則表達式, 或者是個字符串, 代表將要被替換的字串, 例如:

var text = "cat, bat, sat, fat";

var result = text.replace("at", "ond");

alert(result);  // "cond, bat, sat, fat", 只替換第 1 個

result = text.replace(/at/g, "ond");  // g 表示全局, 即字符串里所有滿足要求的都要被替換.

alert(result);  // "cond, bond, sond, fond"

?

Number 類型

var num = 10;

alert(num.toFixed(2))  // “10.01”, 確認兩位小數

?

顯示的基本包裝類型聲明

var obj = new Number(value);

不建議這樣使用(顯示的包裝類型)

?函數傳遞問題

當函數在進行 復制, 比較, 傳遞

類型復制傳遞比較
數字傳值傳值傳值
布爾傳值傳值傳值
字符串不可變不可變傳值
對象傳址傳址傳址
?
內置對象 Global Math

開發人員不必顯示的實例化內置對象

  • Global 是”兜底”的對象,所有的不屬于任何類的對象,都屬于 Global對象,事實上,沒有全局變量和全局函數,所有在全局作用域中定義的屬性和函數,都是Global對象的屬性。在瀏覽器環境下,作為 window 對象。window對象在瀏覽器中就扮演了 Global對象.
  • Math對象,是數學對象,提供一些數學函數直接使用。如 Math.PI? Math.max方法等等

Math 的舍入方法: ceil() floor(), round()

ceil() 向上舍入為整數, 例如 25.9, 舍入后為 26

floor() 向下舍入為整數, 例如 25.9 舍入后為 25

round() 4舍5入為整數, 例如 25.9 為 26, 25.4 為 25

random() 總是生成 0~1之間的隨機數

?

CODE

1 function init() { 2 var i; 3 var ary = new Array(5); 4 for (i=0; i<ary.length; i++) { 5 ary[i] = i.toString(); 6 document.write(ary[i]); 7 } 8 // 9 ary.push("5"); //push 10 document.write("<br />"); 11 document.write(ary.toString()); 12 ary.pop(); //pop 13 document.write("<br />"); 14 document.write(ary.join("||")); 15 document.write("<hr />"); 16 //隊列1 17 ary.push("6"); 18 document.write("<br />"); 19 document.write(ary.join("||")); 20 ary.shift(); 21 document.write("<br />"); 22 document.write(ary.join("||")); 23 //隊列1 24 ary.unshift("6"); 25 document.write("<br />"); 26 document.write(ary.join("||")); 27 ary.pop(); 28 document.write("<br />"); 29 document.write(ary.join("||")); 30 document.write("<hr />"); 31 // 排序 32 ary.sort(compare); //只給出函數名而并非執行該函數,如果是執行就是 compare(); 33 document.write("<br />"); 34 document.write(ary.join("||")); 35 document.write("<hr />"); 36 // 操作方法 37 // 1 concat ( 連接 ) 38 var ary2 = ary.concat("ss"); 39 document.write("<br />"); 40 document.write(ary2.join("||")); 41 // 2 slice ( 子數組 ) 42 var ary3 = ary.slice(1,3); // 這個只有2個元素,表示從1開始,到3之前就截止。 43 // 所以尾條件注意 + 1 44 document.write("<hr />"); 45 document.write(ary3.join("||")); 46 var ary4 = ary.slice(1); // 只有1個參數表示,從該參數開始,到最后,依然是0開始 47 document.write("<hr />"); 48 document.write(ary4.join("||")); 49 // 3 splice ( 任意編輯數組項,插入,刪除, 替換 ) 直接操作該數組 50 document.write("<hr />"); 51 document.write(ary.join("||")); 52 document.write("<hr />"); 53 ary.splice(0, 2); //刪除, 返回的是被刪除元素的數組 54 document.write(ary.join("||")); 55 ary.splice(0, 0, "a","b","c"); //插入, 直接修改數組內容,0 插入位置,0替換元素,插入元素 56 document.write("<hr />"); 57 document.write(ary.join("||")); 58 document.write("<br />"); 59 document.write("<hr />"); 60 ary.splice(1,1,"x"); // 替換,將第1個元素(注意前邊有0元素),替換成X 61 document.write(ary.join("||")); 62 63 //Date 64 var data1 = new Date(Date.UTC(2005,4,5,17,55,55)); // 注意月是從0開始的,所以 4 表示 5月 65 // 正則表達式,主要作用是從一個字符串中挑出想要內容, 匹配和替換 66 var text = "I am a student, how about you ?"; 67 var pattern = /[ot]u/gi; 68 var matches = pattern.exec(text); // exec 用來執行返回結果 69 70 document.write("<br />"); 71 document.write("<hr />"); 72 document.write(matches); //返回 tu 73 if ( pattern.test(text) ) { // test 用來判斷,返回 true or false 74 document.write("matched"); 75 } 76 77 } 78 79 function compare(value1, value2) { 80 if (value1 < value2) { 81 return -1; 82 } else if (value1 > value2) { 83 return 1; 84 } else { 85 return 0; 86 } 87 } 88 function f2() { 89 var x = 3; 90 var y = 4; 91 f1.call(this, x); 92 } 93 94 function f1(value) { 95 alert(value); 96 alert(y); 97 98 }

?call & apply 方法 : 它們真正強大的地方是能夠擴充函數賴以運行的作用域 ,解釋如下代碼

?alert( st.b ); // 執行成功...

1 function f2() { 2 this.a = "aaa"; 3 4 f1.apply(this); // 此時,f2擁有 f1的環境,即f2擁有f1所有的屬性和方法 5 6 } 7 8 function f1(value) { 9 this.a = "111"; 10 this.b = "222"; 11 this.c = "333"; 12 this.f = function(){ 13 alert("nihao"); 14 } 15 } 16 17 var st = new f2(); 18 alert(st.a); 19 alert(st.b); // b是只有 f1 中才有的內容

總結

以上是生活随笔為你收集整理的javascript引用类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

日韩在线视频不卡 | 精品欧美一区二区精品久久 | 五月婷亚洲 | av电影在线免费 | 国产免费观看久久 | 99热这里精品 | 又黄又网站 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 97成人资源站 | 在线 视频 一区二区 | 亚洲更新最快 | 日本动漫做毛片一区二区 | 日韩有码在线播放 | 亚洲伊人av | 日韩理论在线 | av3级在线| 在线观看免费黄视频 | 中文字幕亚洲欧美日韩 | 日韩av中文在线 | 涩涩网站在线播放 | 久久久久久久久久久久电影 | 最新av电影网站 | 国产亚洲视频中文字幕视频 | av在线不卡观看 | 中文伊人 | 五月婷香蕉久色在线看 | 黄色av大片 | av中文国产| 欧美日韩一二三四区 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 夜夜夜精品 | 五月婷婷狠狠 | 久久在线影院 | av高清免费 | 国产精品久久久久久久久大全 | 一级黄色在线视频 | 欧美成人69av | 亚洲精品一区二区久 | 国产日韩欧美在线看 | 久久久99国产精品免费 | 在线韩国电影免费观影完整版 | 国产精品久久久久免费 | 激情丁香| 久久久久免费网 | 国际精品久久 | 69久久99精品久久久久婷婷 | 五月婷香蕉久色在线看 | 日韩欧美精品一区二区 | 日韩色一区二区三区 | 91色在线观看视频 | 91成人免费看片 | 久久精品美女视频网站 | 亚洲精品成人av在线 | 视频在线观看国产 | 国产一区在线免费 | 最近日韩免费视频 | 国产成人免费观看 | 国产亚洲视频在线免费观看 | 日韩电影中文字幕在线 | 精品国产一区二区三区在线观看 | 天天爽天天搞 | av中文字幕免费在线观看 | 欧美日韩精品二区第二页 | 国产99免费 | 国产精品系列在线观看 | 成人久久18免费 | 在线小视频 | 日韩欧美国产成人 | 国产精品久久久久av | 色婷婷丁香 | 国产五月 | 亚洲日本欧美 | 亚洲视频在线免费看 | 97在线观看免费高清 | 免费久久久久久 | 天天操综合网 | 精品久久久久久久久久久久 | 欧美黑人xxxx猛性大交 | 成人动漫一区二区 | 一区二区影院 | 国产1级毛片 | 亚洲91av| 91资源在线免费观看 | 国产一区二区在线免费播放 | 久久精品久久精品久久39 | 亚洲国产日韩在线 | 国产成人亚洲在线观看 | 在线你懂 | 中文一区二区三区在线观看 | 黄色国产高清 | 成人av高清在线观看 | 午夜精品久久久久久中宇69 | 国产精品麻豆三级一区视频 | 欧美日韩国产精品一区二区三区 | 婷婷视频在线播放 | 欧美一级片在线 | 欧美精品久久久 | 91人人在线| 中文在线字幕免费观看 | av黄免费看 | 色综合天天综合网国产成人网 | 国产精品成人一区二区 | 婷婷精品国产一区二区三区日韩 | 91在线看免费 | 在线观看国产高清视频 | 免费在线 | 国产a级精品 | 五月天国产精品 | 色999五月色 | 在线你懂| 久久国产精品精品国产色婷婷 | 国产成人精品网站 | 日本性视频 | 国产91精品一区二区麻豆网站 | av色综合网 | 日韩高清三区 | 国产在线久草 | 亚洲精品久久久久中文字幕m男 | 国产一级片不卡 | 欧美综合色在线图区 | 五月婷婷久久丁香 | 成人a视频在线观看 | 成人免费视频视频在线观看 免费 | 欧美激情视频一区二区三区 | 久久黄色网页 | 成人丝袜 | 在线成人小视频 | 亚洲精品乱码久久久久久写真 | 久插视频 | 欧美性超爽 | 丁香九月婷婷综合 | 亚洲国产精品影院 | 天天射天天操天天 | 在线观看视频免费播放 | 免费在线观看av网站 | 国产中年夫妇高潮精品视频 | 日本精品在线 | 天天爱天天操天天干 | 亚洲国产中文字幕 | 最近的中文字幕大全免费版 | 色吊丝在线永久观看最新版本 | 国产精品入口传媒 | 久久1区| 99精品国产福利在线观看免费 | 国产精品网站一区二区三区 | 精品国产自在精品国产精野外直播 | 国产在线精品观看 | 九九九在线观看视频 | 色视频在线免费观看 | 成人黄性视频 | 999久久久久久久久久久 | 丁香六月欧美 | 欧美日韩二区在线 | 午夜 久久 tv | 激情综合网五月激情 | 国产成人精品一区二区在线观看 | 免费视频一区 | 国产手机在线 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久久在线免费观看 | 日本韩国精品在线 | 国产日韩欧美在线一区 | 在线观看成人一级片 | 天天干天天干天天干 | 国产成人久久精品77777 | 女人18毛片a级毛片一区二区 | 91亚洲精品久久久蜜桃网站 | 西西www4444大胆视频 | 激情电影影院 | 国产成人久久精品 | 国产a国产a国产a | 国产高清中文字幕 | 在线免费色 | 毛片无卡免费无播放器 | 激情小说久久 | 911av视频| 国产 日韩 欧美 中文 在线播放 | 五月天国产精品 | 天天综合精品 | 欧美精品一区二区性色 | 黄色片网站 | 国产系列精品av | 九九99 | 久久一久久 | 国产精品一级在线 | 很黄很污的视频网站 | 久久久精品一区二区三区 | 久久久久女人精品毛片 | 视频在线观看国产 | 亚洲一区二区三区四区精品 | 99热这里有 | 99久久精品免费看国产麻豆 | 亚洲精品乱码久久久久久蜜桃不爽 | 成人动漫一区二区 | 日韩欧美成 | 久久久久日本精品一区二区三区 | 欧美 另类 交 | 一区视频在线 | 99热这里只有精品在线观看 | 91日韩精品一区 | 热久久免费国产视频 | 国产精品福利久久久 | 亚洲国产丝袜在线观看 | 另类老妇性bbwbbw高清 | 99免费看片 | 超碰在线公开免费 | 国产一区二区在线播放视频 | 亚洲精品乱码 | 欧美午夜性 | 色综合久久久久综合99 | 欧美韩日在线 | 99国产精品久久久久久久久久 | www.在线看片.com | 国产成人一区二区三区在线观看 | 久草网站 | 麻豆视频免费播放 | 精品久久影院 | www日| 国色天香在线观看 | 免费在线一区二区三区 | 成人在线观看网址 | 国产剧情av在线播放 | 中文字幕在线观 | 欧美性色综合网站 | 日日天天av | 亚洲影音先锋 | 久久99精品国产麻豆宅宅 | 91视频88av | 成人免费视频网站在线观看 | 国产在线一卡 | 日本久久久影视 | 91爱看片 | 久久黄色免费 | 日韩网站一区二区 | 久久久久久久久久影视 | 日韩在观看线 | 麻豆国产视频下载 | 国产精品永久免费视频 | 国产精品毛片久久久 | 激情在线免费视频 | 欧美精品久久久久a | 男女拍拍免费视频 | 国产精品白丝av | 国产一级片免费观看 | 欧美一区二区精品在线 | 一区二区视频欧美 | 国产区精品 | 91精品国产综合久久婷婷香蕉 | 亚洲成a人片综合在线 | 麻豆国产在线视频 | 又粗又长又大又爽又黄少妇毛片 | 久久久久女教师免费一区 | 99热高清| 色综合婷婷久久 | 久久在线一区 | 国产精品一区二区久久久久 | 婷婷六月天综合 | 黄色在线观看免费网站 | 国产精品一区专区欧美日韩 | 久久九九久久精品 | 久久另类小说 | 国产中文字幕一区二区 | 日韩有码专区 | 亚洲国产精品成人av | 欧美激情第一区 | 成人黄色小视频 | 亚洲综合成人av | 日韩欧美高清免费 | 天天操天天干天天爽 | 九九亚洲精品 | 最新中文字幕在线观看视频 | 亚洲人精品午夜 | 国产精品女人久久久久久 | 九九爱免费视频 | 国产韩国日本高清视频 | 久久久国产精品网站 | 国产一级黄色av | 久久精品99久久 | 成人在线视频一区 | 免费av大全 | 久久久精品电影 | 国产精品久久久久久久av大片 | 伊人影院在线观看 | 激情欧美在线观看 | 亚洲人人av | 最新婷婷色 | 国产精品爽爽久久久久久蜜臀 | 蜜臀av夜夜澡人人爽人人 | 在线天堂中文www视软件 | 麻豆av电影 | 日韩理论片 | 五月婷婷一区二区三区 | 五月天激情综合 | 久久新 | 久久精品视频免费观看 | 最近日本中文字幕 | 久久超碰免费 | 国产精品激情在线观看 | 亚洲一级性 | 日韩三级视频在线观看 | 1000部国产精品成人观看 | 日韩免费高清在线观看 | 欧美精选一区二区三区 | 亚洲1区 在线 | 丁香在线观看完整电影视频 | www久久国产 | 国产在线看| 精品一区二区av | www.av免费观看 | 国产精品嫩草影视久久久 | 日日夜夜狠狠干 | 日韩欧美有码在线 | 国产美女主播精品一区二区三区 | 在线国产欧美 | 激情在线五月天 | 欧美性大战 | 国产精品久久久久影院日本 | 天天摸天天干天天操天天射 | 日本精品一区二区三区在线观看 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 婷婷国产v亚洲v欧美久久 | 九九热视频在线免费观看 | 日韩av成人 | 欧美精品国产精品 | 日本一区二区免费在线观看 | 免费国产视频 | 亚洲黄色成人 | 综合天堂av久久久久久久 | 色婷婷综合久久久久中文字幕1 | 久久99久久99精品免视看婷婷 | 成人 国产 在线 | 国产无遮挡又黄又爽馒头漫画 | 成人羞羞免费 | www.夜夜干.com | 在线观看av免费观看 | 午夜久久电影网 | 国产高清区 | 天堂网一区二区三区 | 草草草影院| 午夜少妇av | 一区二区三区日韩视频在线观看 | 国产日产精品一区二区三区四区的观看方式 | 日韩小视频 | 韩国av免费 | 天天色天天综合 | 国产精品久久久久一区二区国产 | 日韩久久精品一区二区 | 天天操天天是 | 国产91在线免费视频 | 国产日韩中文在线 | 亚洲专区路线二 | 四虎影视8848aamm | 91高清免费在线观看 | 亚洲在线视频免费观看 | 国产在线观看91 | 婷婷色九月| 久草久视频 | 久久午夜电影院 | 美女视频黄,久久 | 超碰精品在线 | 91香蕉视频在线 | 国产成人精品日本亚洲999 | 国产成人精品女人久久久 | 中文日韩在线 | 四虎国产永久在线精品 | 91成人精品一区在线播放 | 在线视频精品播放 | 天天夜夜操 | av五月婷婷| 香蕉97视频观看在线观看 | 免费观看性生交 | 一区二区三区久久 | 中文字幕中文字幕在线中文字幕三区 | 九九热视频在线播放 | 亚洲精品视频二区 | 91亚洲精品久久久久图片蜜桃 | 人人射人人射 | 日韩色视频在线观看 | 亚洲国产婷婷 | 日韩资源在线播放 | 视频一区在线播放 | 成人免费在线看片 | 日韩色中色 | 成年人看片网站 | 国产精品久久久久久久午夜 | 国产精品 9999| 日日夜夜中文字幕 | 天天天综合网 | 国产视频精选 | 狠狠干夜夜操 | 蜜桃视频精品 | 午夜视频99| 99 精品 在线 | 国产精品99久久久久久久久久久久 | 9i看片成人免费看片 | 婷婷丁香九月 | a在线观看免费视频 | 五月天色网站 | 黄色a三级| 欧美日韩精品久久久 | 91干干干 | 香蕉网在线播放 | 91网页版免费观看 | 日产乱码一二三区别在线 | 国产一级二级在线播放 | 在线视频观看你懂的 | 精品久久久久久久久久国产 | 美女在线黄 | 日韩精品极品视频 | 日韩激情网 | 欧美99精品 | 美女在线免费观看视频 | 91在线网站 | 色香网| 国产在线播放一区二区三区 | 亚洲国产成人高清精品 | 欧美午夜剧场 | 久一在线 | 日本最新中文字幕 | 最新久久久 | 久久久久9999亚洲精品 | 久久久性| 久久美女视频 | 色婷婷视频 | 久久视频中文字幕 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 九九精品视频在线观看 | 精品国模一区二区 | 亚洲视频免费在线 | 成人黄色大片在线免费观看 | 在线观看视频色 | 中文字幕在线看 | 国产精品免费小视频 | 国产精品初高中精品久久 | 日本久久中文字幕 | 99精品国产一区二区三区麻豆 | av天天草| 久久无码av一区二区三区电影网 | 亚洲精品视频在线观看免费 | 成人av电影免费在线观看 | 中文字幕网站 | 久久久久久久久黄色 | 免费视频成人 | 99久热在线精品视频观看 | 国产91免费在线 | 欧美一区二区三区在线播放 | 丰满少妇在线观看网站 | 麻豆视频在线观看免费 | 丁香婷婷综合五月 | 在线观看视频在线观看 | 日韩精品久久久久久中文字幕8 | 日韩电影精品 | 日韩一级电影在线 | 国产91对白在线播 | 国产小视频福利在线 | 日本性高潮视频 | 免费看国产曰批40分钟 | 久久久高清免费视频 | 亚洲三级精品 | 国产成人福利在线 | 一区二区三区在线视频111 | 久久试看 | 国产99久久久久 | 亚洲 欧美 另类人妖 | 五月婷婷中文 | 中文字幕日本电影 | 91亚洲精品久久久蜜桃借种 | 九九综合久久 | 99色在线视频 | 免费成人结看片 | 国产精品21区 | 欧美精品乱码久久久久 | 九九热.com | 日韩精品首页 | 97成人精品区在线播放 | 婷婷视频 | 不卡av在线免费观看 | 久久久久久久久国产 | 91探花视频 | 国产精品 国内视频 | 天天狠狠| 在线观看免费高清视频大全追剧 | 国产精品九九热 | 波多野结衣电影久久 | 天天射天天干天天插 | 国产69精品久久99不卡的观看体验 | 中文在线a天堂 | 久久影视一区二区 | 99 视频 高清 | 欧美另类tv | 中文字幕色网站 | 伊人久久一区 | 久久久久久久久久久免费av | 日日操日日插 | 国精产品满18岁在线 | 国产精品无av码在线观看 | 香蕉一区| 伊人狠狠色丁香婷婷综合 | 狠狠黄| 人人玩人人添人人澡97 | 天天色综合三 | 成人午夜电影久久影院 | 国产高清成人在线 | 91色国产| 日本精品久久久久 | www操操操| 人成在线免费视频 | 亚洲狠狠操 | 色a综合 | 久久国产精品成人免费浪潮 | 成人91免费视频 | 天天弄天天操 | 91久久国产露脸精品国产闺蜜 | 久久综合九色欧美综合狠狠 | av电影在线免费 | 日韩高清在线一区 | 三级小视频在线观看 | 国产福利av在线 | 欧美一级在线观看视频 | 激情视频免费观看 | 手机av在线免费观看 | 五月天天av | 九九在线免费视频 | 中文字幕乱偷在线 | 精品国产1区2区3区 国产欧美精品在线观看 | 久久草在线视频国产 | 美女视频又黄又免费 | 亚洲一区黄色 | 粉嫩一区二区三区粉嫩91 | 亚洲成人av影片 | 另类老妇性bbwbbw高清 | 免费在线电影网址大全 | 香蕉久久久久久av成人 | 24小时日本在线www免费的 | 亚洲精品视频在线观看免费 | 国产不卡一区二区视频 | 色婷婷欧美 | 日韩在线观看三区 | 国产在线p | 国产精品久久久久久超碰 | 亚洲男女精品 | 免费看三级| 国产91小视频 | 精品国产成人在线 | 欧美性超爽 | 伊人狠狠干 | 日本久草电影 | 午夜色性片 | 2019天天干天天色 | 国产一级视屏 | 人人爽人人爽 | 99riav1国产精品视频 | 一本—道久久a久久精品蜜桃 | 欧美性色综合 | 国产精品2020 | 日韩精品一区二区三区电影 | 天天干 夜夜操 | 久久丁香网 | 四虎最新入口 | 日韩v在线91成人自拍 | 91精品在线播放 | 欧美亚洲一区二区在线 | 久久久99国产精品免费 | a天堂在线看 | 成人午夜电影在线播放 | 精品国产乱码 | 成人a级网站 | 超碰人人草 | 日韩在观看线 | 麻花豆传媒mv在线观看 | 麻豆传媒视频观看 | 国产精品免费久久 | 国产一二区免费视频 | 97免费在线视频 | 97**国产露脸精品国产 | 国产精品乱码久久久久久1区2区 | 日韩剧情| 亚洲一二视频 | 在线观看韩日电影免费 | 午夜视频在线观看一区二区三区 | 成人影视片 | 国产美女久久 | 骄小bbw搡bbbb揉bbbb | 免费看片网址 | 国产成人精品一区二区 | 狠狠色丁香婷婷综合久小说久 | 欧美一级裸体视频 | 久久国产精品视频 | 亚洲精品美女视频 | 亚洲精品视频在线看 | 日本一区二区三区视频在线播放 | 91在线一区| 国产精品国产精品 | 国产香蕉97碰碰碰视频在线观看 | 国产很黄很色的视频 | 日韩精品亚洲专区在线观看 | 亚洲另类人人澡 | 久久精品女人毛片国产 | 在线视频第一页 | 国产成人精品综合久久久 | 国模吧一区 | 久久婷婷丁香 | 国产精品不卡在线播放 | 韩国三级一区 | 少妇bbb好爽| 国产一级精品绿帽视频 | 精精国产xxxx视频在线播放 | av黄色大片 | 亚洲91中文字幕无线码三区 | 亚洲精品视频免费看 | 在线中文字母电影观看 | 97超碰免费在线观看 | 国产专区在线看 | 天天操天天添天天吹 | 天天操天天干天天爱 | 精久久久久 | 国产精品自产拍在线观看蜜 | 国产精品久久久久久久久久免费 | 中文在线字幕免 | 精品v亚洲v欧美v高清v | 成人一区二区在线观看 | 特黄色大片 | 欧美 日韩 国产 中文字幕 | 91亚洲狠狠婷婷综合久久久 | 久久久午夜精品福利内容 | 国内一级片在线观看 | 在线播放91| 国产精品久久久久久久久久久久午夜 | 五月婷婷操 | 国产最顶级的黄色片在线免费观看 | 六月色丁| 中文字幕在线观看视频一区 | 深爱婷婷 | 欧美日韩网站 | 狠狠色婷婷丁香六月 | 中文字幕在线播放一区二区 | av免费在线看网站 | 久久tv| 国产玖玖在线 | 亚洲aⅴ在线观看 | 欧美乱码精品一区 | 国产精品久久久久久爽爽爽 | 国产精品久久久毛片 | 国产精品久久久久aaaa九色 | 亚洲成av人片在线观看香蕉 | 狠狠成人 | 国产精品久久久久久婷婷天堂 | 久久久国产成人 | 99精品国产在热久久下载 | 国产亚洲精品久久久久久久久久 | 干狠狠| 欧美极度另类性三渗透 | 丝袜网站在线观看 | 国产亚洲精品久久久久久无几年桃 | 黄毛片在线观看 | 欧美日本三级 | 人人超碰97| 成人黄色在线播放 | 久久久久久久久久久久国产精品 | 国产精品久久久久久久久免费 | 欧美激情第十页 | 人人干人人搞 | 日本中文字幕观看 | 国产精品一区二区在线观看免费 | 中文字幕网站 | 国产精品久久久久久久久免费 | 亚洲性少妇性猛交wwww乱大交 | 欧美精品小视频 | av片在线观看免费 | 黄色免费网站下载 | 欧洲精品二区 | 天天综合色网 | 91视频-88av| 成人97人人超碰人人99 | 亚洲www天堂com | 中文字幕日本电影 | 中文字幕国产视频 | 香蕉视频在线网站 | 国产小视频在线观看 | 国产高h视频 | 日韩成人免费在线电影 | 99视频在线看 | 国产一区二区精品在线 | 高清视频一区 | 成人在线播放免费观看 | 欧美日韩在线免费观看 | 丁香婷婷基地 | 精品999| 97成人超碰 | 中文字幕在线看视频国产 | 欧美 日韩 国产 成人 在线 | 日韩电影在线观看一区 | 国产又粗又硬又爽视频 | 国产一区免费观看 | 久久视频一区二区 | 午夜电影久久久 | 91久久国产精品 | 中文字幕亚洲精品日韩 | 成年人黄色大片在线 | 在线看福利av | 国产一级h | 欧美影院久久 | 最新国产精品久久精品 | 婷婷视频导航 | 国产亚洲高清视频 | 亚洲免费一级 | 蜜臀久久99精品久久久酒店新书 | 手机成人在线 | 欧美国产日韩一区二区三区 | 亚洲精品美女在线观看播放 | 国产精品久久久久久久久费观看 | 在线小视频你懂的 | 国产欧美在线一区二区三区 | 美女黄频在线观看 | 国产亚洲va综合人人澡精品 | 日本久久片| 伊人五月婷| 五月天久久激情 | 欧美一二区在线 | 97av.com| 日韩一级片大全 | 国产成人久久 | 久久久高清一区二区三区 | 国产黄色大全 | 久久99在线视频 | av免费线看 | 国产精品视频资源 | www.久艹 | 丁香婷婷成人 | 国产不卡在线观看视频 | 欧美aaa视频 | 国产精品原创在线 | 中文字幕第一页在线 | 缴情综合网五月天 | 午夜视频在线观看一区二区 | 日韩在线免费高清视频 | 久久免费视频1 | 久久精品电影院 | 久久国产精品偷 | 久久久高清免费视频 | 久久狠狠干 | 人人射网站 | 天天操夜夜操天天射 | 最新国产福利 | 中文字幕亚洲精品在线观看 | 久草www| av在线免费在线观看 | 亚洲高清在线观看视频 | 欧美不卡视频在线 | 草在线视频 | 国产又粗又猛又黄又爽视频 | 精品99在线视频 | 黄色毛片视频免费 | 欧美一区在线观看视频 | 成年人在线观看视频免费 | 久久午夜鲁丝片 | 欧美最猛性xxxxx亚洲精品 | 日韩激情片在线观看 | 久久99精品国产99久久 | 中文字幕亚洲不卡 | aⅴ视频在线| 国产在线观看免费 | 亚洲成人av片在线观看 | 欧美日韩观看 | 在线观看视频一区二区三区 | 玖玖在线视频观看 | 久久久96| 久久久久久伊人 | 一区在线播放 | 中文字幕中文中文字幕 | 顶级bbw搡bbbb搡bbbb | 国产亚洲精品中文字幕 | www色片| 国产99久久久精品 | 久草a在线 | 人人澡人摸人人添学生av | 国产另类av | 亚洲成人资源在线观看 | 欧美成亚洲 | 亚洲永久字幕 | 久久久久视| 国产精品少妇 | 欧美激情视频久久 | 在线午夜av | 麻豆免费视频 | 成人黄色大片 | 在线观看av免费观看 | 日本精品中文字幕在线观看 | 97超碰中文字幕 | 超碰在线人人 | 天天天天天天天天操 | 九九视频在线观看视频6 | 国产精品毛片久久久久久 | 亚洲免费资源 | 国产在线视频不卡 | 伊人久操| 欧美日韩国产一区二区在线观看 | 欧美日韩在线观看一区二区三区 | 麻豆va一区二区三区久久浪 | h视频日本 | 在线99视频 | 在线影视 一区 二区 三区 | 九九视频精品在线 | 四虎国产精品免费 | 超碰国产在线观看 | 天天干天天拍天天操天天拍 | 亚洲综合爱 | 久久经典国产视频 | 啪一啪在线| 在线电影播放 | 亚洲精品乱码久久久久久 | 亚洲最大免费成人网 | 天天摸天天舔天天操 | 中文字幕麻豆 | 高清一区二区三区av | 亚洲少妇影院 | 在线观看国产福利片 | 成人av电影免费在线观看 | 亚洲不卡123 | 亚洲在线激情 | 免费国产在线精品 | 欧美地下肉体性派对 | 毛片a级片 | 五月天综合激情 | 久久久影院 | 久久成人免费电影 | 天天操天天射天天爽 | 免费看黄色毛片 | 国产高清视频在线免费观看 | 欧美在线视频日韩 | 精品国产精品一区二区夜夜嗨 | 久久精品二区 | 99久久综合精品五月天 | 国产破处精品 | 国产在线精品福利 | 欧美成人精品欧美一级乱 | 免费中文字幕视频 | 91精品久久久久久久久久入口 | 玖玖视频 | aaa毛片视频 | 亚洲成人999 | 91黄色小网站 | 日韩3区 | 麻豆视频免费在线播放 | 精品高清美女精品国产区 | 精品uu | 国产精品久久久久久爽爽爽 | 片网站 | 国产精品videoxxxx | 免费在线视频一区二区 | 黄色毛片电影 | 麻豆视频一区二区 | 一级片视频在线 | 国产精品第一视频 | 香蕉视频免费在线播放 | 国产一区二区不卡视频 | 久久精品视频免费播放 | 欧美日韩一二三四区 | 国产精品成人一区二区 | 日韩成人av在线 | 欧美精品一二三 | 色婷婷综合久色 | 国产三级久久久 | av在线超碰 | 97超碰国产在线 | 国产精品成人aaaaa网站 | www色婷婷com | 激情六月婷婷久久 | 在线免费观看视频一区二区三区 | 日韩精品在线一区 | 日韩在线视频播放 | 国产破处视频在线播放 | 国产精品不卡 | 福利精品在线 | 色婷婷综合五月 | 97超碰中文 | 国产97色 | 久久久精品国产一区二区三区 | 日韩中文字幕免费电影 | 日韩电影中文 | www.天天干.com | 一区二区视频在线免费观看 | 午夜 免费 | 国产日韩视频在线播放 | 97超级碰碰 | 色综合天天综合 | 91tv国产成人福利 | 91av在线免费观看 | 天堂在线成人 | 日韩电影中文,亚洲精品乱码 | 久久国产精品影视 | 亚洲精品在线视频观看 | 国内三级在线观看 | 精品国产一区二区三区不卡 | 97超在线| 亚洲精品国产综合久久 | 超碰97国产精品人人cao | 人人干人人艹 | 香蕉视频免费在线播放 | 日韩在线电影一区 | 精品国精品自拍自在线 | 在线观看av免费 | 久久免费视频3 | 欧美在线观看视频一区二区 | 在线欧美小视频 | 亚洲永久国产精品 | 日韩精品一区二区免费视频 | 久久精品欧美视频 | 精品国产123| 欧美精品999 | 91精品国产一区二区在线观看 | 在线观看韩国av | 视频99爱| 国产福利精品一区二区 | 成人动漫视频在线 | 黄色三级免费看 | 亚洲精品乱码久久久久久蜜桃动漫 | 免费国产在线精品 | 日韩电影在线观看一区二区三区 | 五月天激情视频在线观看 | 国产精品免费成人 | 久久国产区 | 一区二区视频在线播放 | 欧美久久久久久久久久久 | 欧美日比视频 | 久久激情五月激情 | 又黄又爽又无遮挡免费的网站 | 国产精品二区在线 | 国产精品久久艹 | 国产一区二区在线免费观看 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 成人黄色小说在线观看 | 欧美在线一级片 | 九九视频在线播放 | aaaaaa毛片 | 在线观看91精品国产网站 | 九九热视频在线免费观看 | 久久免费黄色网址 | 奇米影音四色 | 超碰97人人干 | 日韩av一区二区在线影视 | 亚洲精品影视在线观看 | 日韩精品中文字幕久久臀 | 国产精品一区二区电影 | 456免费视频 | 国产精品久久久一区二区三区网站 | 在线网址你懂得 | 国产手机在线观看 | 亚洲视频精品 | 超碰精品在线 | 天天射,天天干 | 免费在线成人 | 日本三级香港三级人妇99 | 香蕉视频在线免费看 | 91精品国产乱码久久 | www.狠狠操| 精品在线观看一区二区 | 99久久精品久久久久久动态片 | 欧美伦理一区二区 | 免费网址在线播放 | 综合激情 | 国产视频精品网 | 在线视频日韩精品 | 亚洲成a人片在线观看网站口工 | 狠狠插狠狠干 | 成人av在线直播 | 国产精品久久久久久高潮 | 久久这里只有精品久久 | 久久久久国产精品一区 | 9992tv成人免费看片 | 久久草草热国产精品直播 | 91av播放 | 久久综合九色综合97婷婷女人 | 激情欧美一区二区免费视频 | 99精品乱码国产在线观看 | 超碰97国产精品人人cao | 色狠狠综合| 一级性生活片 | 成人黄色片免费看 | 国产成人精品a | 国产视频黄 | av免费看av | 亚洲色图色| 久久优 | 操操操日日 | 国产精品99久久久 | 日日夜夜人人天天 | 综合久久网| 国产精品毛片一区二区三区 | 天天艹| 久久激情久久 | 国产精久久久 | 国产一级高清 | 天天干天天操天天搞 | 手机在线看永久av片免费 | 日本中文乱码卡一卡二新区 | 精品国产日本 | 国产黄av|