真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

javascript判定,javascript判斷題

js判斷是不是數(shù)組的方法

在說明如何判斷一個(gè)對象為數(shù)組類型前,我們先鞏固下js的數(shù)據(jù)類型,js一共有六大數(shù)據(jù)類型:number、string、object、Boolean、null、undefined。

創(chuàng)新互聯(lián)公司提供網(wǎng)站制作、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì),成都品牌網(wǎng)站建設(shè),1元廣告等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,10年的網(wǎng)站開發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破上千多家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.

除了前四個(gè)類型外,null、對象、數(shù)組返回的都是object類型;對于函數(shù)類型返回的則是function,再比如typeof(Date),typeof(eval)等。接下來進(jìn)入正題,js判斷數(shù)組類型的方法。

instanceof 用于判斷一個(gè)變量是否某個(gè)對象的實(shí)例,左邊操作數(shù)是一個(gè)對象,右邊操作數(shù)是一個(gè)函數(shù)對象或者函數(shù)構(gòu)造器。原理是通過判斷左操作數(shù)的對象的原型鏈上是否具有右操作數(shù)的構(gòu)造函數(shù)的prototype屬性。

a instanceof b?alert("true"):alert("false") //注意b值是你想要判斷的那種數(shù)據(jù)類型,不是一個(gè)字符串,比如Array。

舉一個(gè)例子:

var arr=[];

console.log(arr instanceof Array) //返回true

在W3C定義中的定義:constructor 屬性返回對創(chuàng)建此對象的數(shù)組函數(shù)的引用,就是返回對象相對應(yīng)的構(gòu)造函數(shù)。從定義上來說跟instanceof不太一致,但效果都是一樣的。

那么判斷各種類型的方法:

注意:

使用instaceof和construcor,被判斷的array必須是在當(dāng)前頁面聲明的!比如,一個(gè)頁面(父頁面)有一個(gè)框架,框架中引用了一個(gè)頁面(子頁面),在子頁面中聲明了一個(gè)array,并將其賦值給父頁面的一個(gè)變量,這時(shí)判斷該變量,Array ==object.constructor;會返回false;

原因:

1、array屬于引用型數(shù)據(jù),在傳遞過程中,僅僅是引用地址的傳遞。

2、每個(gè)頁面的Array原生對象所引用的地址是不一樣的,在子頁面聲明的array,所對應(yīng)的構(gòu)造函數(shù),是子頁面的Array對象;父頁面來進(jìn)行判斷,使用的Array并不等于子頁面的Array。

isPrototypeOf() 函數(shù) : 用于指示對象是否存在于一個(gè)對象的原型鏈中。如果存在返回true,反之返回false。該方法屬Object對象,由于所有的對象都繼承了Object的對象實(shí)例,因此幾乎所有的實(shí)例對象都可以使用該方法。如果variable的原型鏈中存在Array對象,就會返回true,也就說明variable是數(shù)組類型。

js判斷一個(gè)變量或?qū)ο笫欠翊嬖?/h2>

1、首先創(chuàng)建兩個(gè)文件,一個(gè)jstest.html,一個(gè)jstest.js文件。

2、打開html在里面引入jstest.js。

3、打開jstest.js文件,創(chuàng)建一個(gè)方法aa。

4、然后接著使用if(typeof? aa=="function")判斷如果aa方法存在就提示"aa方法存在",否則彈出"aa方法不存在",明顯aa是存在的。

5、接著使用if(typeof? cc=="function")判斷如果cc方法存在就提示"cc方法存在",否則彈出"cc方法不存在",因?yàn)槲覀儧]有定義cc這個(gè)方法,所以cc不存在。

6、打開jstest.html,第一會提示,“aa方法存在”。

javascript中怎樣判斷是否包含

JS判斷字符串包含的方法具體如下:

1. 例子:

var tempStr = "tempText" ;

var bool = tempStr.indexOf("Texxt");

//返回大于等于0的整數(shù)值,若不包含"Text"則返回"-1。

if(bool0){

document.write("包含字符串");

}else{

document.write("不包含字符串");

}

2. indexOf用法:

strObj.indexOf(subString[, startIndex])

JavaScript中indexOf函數(shù)方法返回一個(gè)整數(shù)值,指出 String 對象內(nèi)子字符串的開始位置。如果沒有找到子字符串, 則返回 -1。如果 startindex 是負(fù)數(shù),則 startindex 被當(dāng)作零。如果它比最大的字符位置索引還大,則它被當(dāng)作最大的可能索引。

參數(shù):

strObj : 必選項(xiàng),String 對象或文字。

subString :必選項(xiàng),要在 String 對象中查找的子字符串。

starIndex :可選項(xiàng),該整數(shù)值指出在 String 對象內(nèi)開始查找的索引。如果省略,則從字符串的開始處查找;

如果 startindex 是負(fù)數(shù),則 startindex 被當(dāng)作零。如果它比最大的字符位置索引還大,則它被當(dāng)作最大的可能索引。

3. 與lastIndexOf的區(qū)別:

lastIndexOf() 方法則是從字符串的結(jié)尾開始檢索子串。

[img]

JavaScript判斷變量是對象還是數(shù)組的方法

typeof都返回object

在JavaScript中所有數(shù)據(jù)類型嚴(yán)格意義上都是對象,但實(shí)際使用中我們還是有類型之分,如果要判斷一個(gè)變量是數(shù)組還是對象使用typeof搞不定,因?yàn)樗挤祷豲bject

復(fù)制代碼

代碼如下:

var

o

=

{

'name':'lee'

};

var

a

=

['reg','blue'];

document.write(

'

o

typeof

is

'

+

typeof

o);

document.write(

'

br

/');

document.write(

'

a

typeof

is

'

+

typeof

a);

執(zhí)行:

復(fù)制代碼

代碼如下:

o

typeof

is

object

a

typeof

is

object

因此,我們只能放棄這種方法,要判斷是數(shù)組or對象有兩種方法

第一,使用typeof加length屬性

數(shù)組有l(wèi)ength屬性,object沒有,而typeof數(shù)組與對象都返回object,所以我們可以這么判斷

復(fù)制代碼

代碼如下:

var

o

=

{

'name':'lee'

};

var

a

=

['reg','blue'];

var

getDataType

=

function(o){

if(typeof

o

==

'object'){

if(

typeof

o.length

==

'number'

){

return

'Array';

}else{

return

'Object';

}

}else{

return

'param

is

no

object

type';

}

};

alert(

getDataType(o)

);

//

Object

alert(

getDataType(a)

);

//

Array

alert(

getDataType(1)

);

//

param

is

no

object

type

alert(

getDataType(true)

);

//

param

is

no

object

type

alert(

getDataType('a')

);

//

param

is

no

object

type

第二,使用instanceof

使用instanceof可以判斷一個(gè)變量是不是數(shù)組,如:

復(fù)制代碼

代碼如下:

var

o

=

{

'name':'lee'

};

var

a

=

['reg','blue'];

alert(

a

instanceof

Array

);

//

true

alert(

o

instanceof

Array

);

//

false

也可以判斷是不是屬于object

復(fù)制代碼

代碼如下:

var

o

=

{

'name':'lee'

};

var

a

=

['reg','blue'];

alert(

a

instanceof

Object

);

//

true

alert(

o

instanceof

Object

);

//

true

但數(shù)組也是屬于object,所以以上兩個(gè)都是true,因此我們要利用instanceof判斷數(shù)據(jù)類型是對象還是數(shù)組時(shí)應(yīng)該優(yōu)先判斷array,最后判斷object

復(fù)制代碼

代碼如下:

var

o

=

{

'name':'lee'

};

var

a

=

['reg','blue'];

var

getDataType

=

function(o){

if(o

instanceof

Array){

return

'Array'

}else

if(

o

instanceof

Object

){

return

'Object';

}else{

return

'param

is

no

object

type';

}

};

alert(

getDataType(o)

);

//

Object

alert(

getDataType(a)

);

//

Array

alert(

getDataType(1)

);

//

param

is

no

object

type

alert(

getDataType(true)

);

//

param

is

no

object

type

alert(

getDataType('a')

);

//

param

is

no

object

type

如果你不優(yōu)先判斷Array,比如:

復(fù)制代碼

代碼如下:

var

o

=

{

'name':'lee'

};

var

a

=

['reg','blue'];

var

getDataType

=

function(o){

if(o

instanceof

Object){

return

'Object'

}else

if(

o

instanceof

Array

){

return

'Array';

}else{

return

'param

is

no

object

type';

}

};

alert(

getDataType(o)

);

//

Object

alert(

getDataType(a)

);

//

Object

alert(

getDataType(1)

);

//

param

is

no

object

type

alert(

getDataType(true)

);

//

param

is

no

object

type

alert(

getDataType('a')

);

//

param

is

no

object

type

那么數(shù)組也會被判斷為object。

js如何判斷類型?

typeof 是一個(gè)操作符,其右側(cè)跟一個(gè)一元表達(dá)式,并返回這個(gè)表達(dá)式的數(shù)據(jù)類型。返回的結(jié)果用該類型的字符串(全小寫字母)形式表示,包括以下 7 種:number、boolean、symbol、string、object、undefined、function 等。

有些時(shí)候,typeof 操作符會返回一些令人迷惑但技術(shù)上卻正確的值:

對于基本類型,除 null 以外,均可以返回正確的結(jié)果。

對于引用類型,除 function 以外,一律返回 object 類型。

對于 null ,返回 object 類型。

對于 function 返回 ?function 類型。

其中,null 有屬于自己的數(shù)據(jù)類型 Null , 引用類型中的 數(shù)組、日期、正則 也都有屬于自己的具體類型,而 typeof 對于這些類型的處理,只返回了處于其原型鏈最頂端的 Object 類型,沒有錯(cuò),但不是我們想要的結(jié)果。


標(biāo)題名稱:javascript判定,javascript判斷題
分享網(wǎng)址:http://weahome.cn/article/dsohoed.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部