×

javascript typeof

javascript typeof(typeof和typeof js 有什么不同)

admin admin 发表于2023-11-18 20:15:05 浏览52 评论0

抢沙发发表评论

本文目录

typeof和typeof js 有什么不同

JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的:typeoftypeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。它返回值是一个字符串,该字符串说明运算数的类型。typeof 一般只能返回如下几个结果:number,boolean,string,function,object,undefined。我们可以使用 typeof 来获取一个变量是否存在,如 if(typeof a!=“undefined“){alert(“ok“)},而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错,对于 Array,Null 等特殊对象使用 typeof 一律返回 object,这正是 typeof 的局限性。instanceofinstance:实例,例子a instanceof b?alert(“true“):alert(“false“); //a是b的实例?真:假instanceof 用于判断一个变量是否某个对象的实例,如 var a=new Array();alert(a instanceof Array); 会返回 true,同时 alert(a instanceof Object) 也会返回 true;这是因为 Array 是 object 的子类。再如:function test(){};var a=new test();alert(a instanceof test) 会返回谈到 instanceof 我们要多插入一个问题,就是 function 的 arguments,我们大家也许都认为 arguments 是一个 Array,但如果使用 instaceof 去测试会发现 arguments 不是一个 Array 对象,尽管看起来很像。另外:测试 var a=new Array();if (a instanceof Object) alert(’Y’);else alert(’N’);得’Y’但 if (window instanceof Object) alert(’Y’);else alert(’N’);得’N’所以,这里的 instanceof 测试的 object 是指 js 语法中的 object,不是指 dom 模型对象。使用 typeof 会有些区别alert(typeof(window)) 会得 object

JavaScript中typeof知多少

typeof运算符介 绍:typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。它返回值是一个字符串,该字符串说明运算数的类型。你 知道下面typeof运算的结果吗?typeof(1);typeof(NaN);typeof(Number.MIN_VALUE);typeof(Infinity);typeof(“123“);typeof(true);typeof(window);typeof(document);typeof(null);typeof(eval);typeof(Date);typeof(sss);typeof(undefined);看 看你会几个?如果看了以后,不是很明白的话,请看下面(明白的人就不用往下看了):typeof是一个一元运算符,它返回的结果 始终是一个字符串,对不同的操作数,它返回不同的结果。具体的规则如下:一、对于数字类型的操作数而言, typeof 返回的值是 number。比如说:typeof(1),返回的值就是number。上面是举的常规数字,对于非常规的数字类型而言,其结果返回的也是number。比如typeof(NaN),NaN在JavaScript中代表的是特殊非数字值,虽然它本身是一个数字类型。在JavaScript中,特殊的数字类型还有几种:Infinity 表示无穷大特殊值NaN            特殊的非数字值Number.MAX_VALUE     可表示的最大数字Number.MIN_VALUE     可表示的最小数字(与零最接近)Number.NaN         特殊的非数字值Number.POSITIVE_INFINITY 表示正无穷大的特殊值Number.NEGATIVE_INFINITY  表 示负无穷大的特殊值以上特殊类型,在用typeof进行运算进,其结果都将是number。二、对于字符串类型, typeof 返回的值是 string。比如typeof(“123“)返回的值是string。 三、对于布尔类型, typeof 返回的值是 boolean 。比如typeof(true)返回的值是boolean。四、对于对象、数组、null 返回的值是 object 。比如typeof(window),typeof(document),typeof(null)返回的值都是object。五、 对于函数类型,返回的值是 function。比如:typeof(eval),typeof(Date)返回的值都是function。六、如 果运算数是没有定义的(比如说不存在的变量、函数或者undefined),将返回undefined。比如:typeof(sss)、typeof(undefined)都返回undefined。看完了六条规则,再回头看一下,是不是很简单了……

把下面代码复制过去自己测试便知

《script》document.write (“typeof(1): “+typeof(1)+“《br》“);document.write (“typeof(NaN): “+typeof(NaN)+“《br》“);document.write (“typeof(Number.MIN_VALUE): “+typeof(Number.MIN_VALUE)+“《br》“)document.write (“typeof(Infinity): “+typeof(Infinity)+“《br》“)document.write (“typeof(\“123\“): “+typeof(“123“)+“《br》“)document.write (“typeof(true): “+typeof(true)+“《br》“)document.write (“typeof(window): “+typeof(window)+“《br》“)document.write (“typeof(document): “+typeof(document)+“《br》“)document.write (“typeof(null): “+typeof(null)+“《br》“)document.write (“typeof(eval): “+typeof(eval)+“《br》“)document.write (“typeof(Date): “+typeof(Date)+“《br》“)document.write (“typeof(sss): “+typeof(sss)+“《br》“)document.write (“typeof(undefined): “+typeof(undefined)+“《br》“)《/script》

typeof js 感叹号 判断 有什么区别

JavaScript中typeof和instanceof常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的:typeoftypeof是一个一元运算,放在一个运算数之前,运算数可以是任意类型。它返回值是一个字符串,该字符串说明运算数的类型。typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。我们可以使用typeof来获取一个变量是否存在,如if(typeofa!=“undefined“){alert(“ok“)},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。instanceofinstance:实例,例子ainstanceofb?alert(“true“):alert(“false“);//a是b的实例?真:假instanceof用于判断一个变量是否某个对象的实例,如vara=newArray();alert(ainstanceofArray);会返回true,同时alert(ainstanceofObject)也会返回true;这是因为Array是object的子类。再如:functiontest(){};vara=newtest();alert(ainstanceoftest)会返回谈到instanceof我们要多插入一个问题,就是function的arguments,我们大家也许都认为arguments是一个Array,但如果使用instaceof去测试会发现arguments不是一个Array对象,尽管看起来很像。另外:测试vara=newArray();if(ainstanceofObject)alert(’Y’);elsealert(’N’);得’Y’但if(windowinstanceofObject)alert(’Y’);elsealert(’N’);得’N’所以,这里的instanceof测试的object是指js语法中的object,不是指dom模型对象。使用typeof会有些区别alert(typeof(window))会得object

JavaScript typeof()

经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组. if(document.mylist.length != “undefined“ ) {} 这个用法有误. 正确的是 if( typeof(document.mylist.length) != “undefined“ ) {} 或 if( !isNaN(document.mylist.length) ) {} typeof的运算数未定义,返回的就是 “undefined“. 运算数为数字 typeof(x) = “number“ 字符串 typeof(x) = “string“ 布尔值 typeof(x) = “boolean“ 对象,数组和null typeof(x) = “object“ 函数 typeof(x) = “function“ typeof 运算符返回一个用来表示表达式的数据类型的字符串。 可能的字符串有:“number“、“string“、“boolean“、“object“、“function“ 和 “undefined“。 如: alert(typeof (123));//typeof(123)返回“number“ alert(typeof (“123“));//typeof(“123“)返回“string“

javascript中typeof返回的结果有哪几种

写了代码测试了下《script》document.write (“typeof(1): “+typeof(1)+“《br》“);document.write (“typeof(NaN): “+typeof(NaN)+“《br》“);document.write (“typeof(Number.MIN_VALUE): “+typeof(Number.MIN_VALUE)+“《br》“)document.write (“typeof(Infinity): “+typeof(Infinity)+“《br》“)document.write (“typeof(\“123\“): “+typeof(“123“)+“《br》“)document.write (“typeof(true): “+typeof(true)+“《br》“)document.write (“typeof(window): “+typeof(window)+“《br》“)document.write (“typeof(document): “+typeof(document)+“《br》“)document.write (“typeof(null): “+typeof(null)+“《br》“)document.write (“typeof(eval): “+typeof(eval)+“《br》“)document.write (“typeof(Date): “+typeof(Date)+“《br》“)document.write (“typeof(sss): “+typeof(sss)+“《br》“)document.write (“typeof(undefined): “+typeof(undefined)+“《br》“)《/script》结果如下typeof(1): numbertypeof(NaN): numbertypeof(Number.MIN_VALUE): numbertypeof(Infinity): numbertypeof(“123“): stringtypeof(true): booleantypeof(window): objecttypeof(document): objecttypeof(null): objecttypeof(eval): functiontypeof(Date): functiontypeof(sss): undefinedtypeof(undefined): undefined希望对你有帮助 望采纳

请教高手,JS中typeof() !== ’undefined’是什么意思,高手能说一下吗,谢谢

typeof(var)是用来判断变量是否为数组的。JS中经常需要操作HTML控件,大家知道,HTML空间如果名字都取相同的话,那么使用document.getElementsByName就可以取得一个数组。如果想使用if(document.aaa.length!=“undefined“)来判断名字为“aaa“的控件在页面中是否存在多个(也就是数组)的话,这个用法就会报错。这时就要使用if(typeof(document.aaa.length) !== ’undefined’)。

至于if(var==’undefined’),是要判断变量是否未定义,即是否不存在,最简单的示例,你的js中有两个function,一个是function a(a1,a2),它有两个形参a1和a2,还有一个function b(),在b中调用a:a(var);却只给它传一个参数,这时function a中的a2的值就是undefined。

if(var)中的var是boolean变量,它只有true和false两个值,倘若var==true,那么将会执行if{}中的代码,反之跳过。

扩展资料

JavaScript脚本语言具有以下特点:

1、脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。

2、基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。

3、简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。

4、动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。

5、跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提上机器上的浏览器支 持JavaScript脚本语言,目前JavaScript已被大多数的浏览器所支持。

参考资料来源:百度百科-js

javascript typeof 和 instanceof 的区别和联系

typeof 是一个操作符,主要的目的是检测一个变量是不是基本数据类型的变量,同时也可以说是确定一个变量是字符串,数值,布尔值,还是undefined的最佳工具。使用typeof操作符的时候,如果检测对象是函数,那么操作符返回“function“ ,如果检测对象是正则表达式的时候,在Safari和Chrome中使用typeof的时候会错误的返回“function“,其他的浏览器返回的是object. instanceof主要的目的是检测引用类型,判断对象是Array,还是RegExp!大家都知道Object是所有对象的基类,所以在alert(array instanceof Object) 返回的结果同样也是true,还有就是instanceof的语法一定不要写错了 variable instanceof constructor !其实typeof和instanceof的目的都是检测变量的类型,两个的区别在于typeof一般是检测的是基本数据类型,instanceof主要检测的是引用类型!

为什么JavaScript里面typeof的值是“object

typeof 运算符返回表达式的数据类型:“number“、“string“、“boolean“、“object“、“function“ 和 “undefined“。未定义,返回的就是 “undefined“数字返回“number“ 字符串返回“string“ 布尔值返回“boolean“ 对象,数组和null返回 “object“ 函数返回“function“