constructor属性和typeof()属性的区别,用法有什么不同
typeof()是一个方法,会把所有的数组类型以及用户自定义类型判断为object,从而无法知道更确切的信息。而
constructor
却可以解决这个问题;
typeof可以检查到变量是否有定义,而construct只能检查已定义变量的类型;
希望对你有所帮助
测试数据类型函数typeof( )的用法
typeof关键字是C语言中的一个新扩展。只要可以接受typedef名称,Sun Studio C 编译器就可以接受带有typeof的结构,包括以下语法类别: 声明 函数声明符中的参数类型链表和返回类型 类型定义 类型操作符s sizeof操作符 复合文字 typeof实参 编译器接受带双下划线的关键字:__typeof和__typeof__。本文中的例子并没有遵循使用双下划线的惯例。从语句构成上看,typeof关键字后带圆括号,其中包含类型或表达式的名称。这类似于sizeof关键字接受的操作数(与sizeof不同的是,位字段允许作为typeof实参,并被解释为相应的整数类型)。从语义上看,typeof 关键字将用做类型名(typedef名称)并指定类型。 使用typeof的声明示例 下面是两个等效声明,用于声明int类型的变量a。 typeof(int) a; /* Specifies variable a which is of the type int */ typeof(’b’) a; /* The same. typeof argument is an expression consisting of character constant which has the type int */以下示例用于声明指针和数组。为了进行对比,还给出了不带typeof的等效声明。 typeof(int *) p1, p2; /* Declares two int pointers p1, p2 */int *p1, *p2;typeof(int) * p3, p4;/* Declares int pointer p3 and int p4 */int * p3, p4;typeof(int ) a1, a2;/* Declares two arrays of integers */int a1, a2;如果将typeof用于表达式,则该表达式不会执行。只会得到该表达式的类型。以下示例声明了int类型的var变量,因为表达式foo()是int类型的。由于表达式不会被执行,所以不会调用foo函数。 extern int foo();typeof(foo()) var;使用typeof的声明限制 请注意,typeof构造中的类型名不能包含存储类说明符,如extern或static。不过允许包含类型限定符,如const或volatile。例如,下列代码是无效的,因为它在typeof构造中声明了extern: typeof(extern int) a;下列代码使用外部链接来声明标识符b是有效的,表示一个int类型的对象。下一个声明也是有效的,它声明了一个使用const限定符的char类型指针,表示指针p不能被修改。 extern typeof(int) b;typeof(char * const) p = “a“;在宏声明中使用typeof typeof构造的主要应用是用在宏定义中。可以使用typeof关键字来引用宏参数的类型。因此,在没有将类型名明确指定为宏实参的情况下,构造带有所需类型的对象是可能的。
js判断 是否为函数
可以通过typeof进行判断是否为函数,typeof用法如下:
typeof 运算符有一个参数,即要检查的变量或值
对变量或值调用 typeof 运算符将返回下列值之一:
undefined - 如果变量是 Undefined 类型的
boolean - 如果变量是 Boolean 类型的
number - 如果变量是 Number 类型的
string - 如果变量是 String 类型的
object - 如果变量是一种引用类型或 Null 类型的
function - 如果变量代表一个函数
function func(){}
typeof func == ’function’//true
type of 操作符和instanceof操作符的区别以及使用方法
一.instanceof运算符: 此运算符可以判断一个变量是否是某个对象(类)的实例,返回值是布尔类型的。想要理解它的作用,必须对面向对象有所理解:
代码实例如下:
1
2
var str=new String(“antzone“);
console.log(str instanceof String);
以上代码会输出true,因为str是对象String的对象实例。一般说来只有使用构造函数创建的对象才会返回true,否则返回false,不过数组是一个例外,都会返回true。
二.typeof运算符:此运算符可以返回一个字符串,用语说明元算数的类型,它的返回值有如下可能:
代码如下:
number,boolean,string,function,object,undefined
实例 代码如下:
var str=new String(“antzone“);
var strTwo=“antzone“;
console.log(typeof str);
console.log(typeof strTwo);
在以上代码中,第一个可以输出准确的类型“string“,第二个确是“object“,并不精准。 一般来说使用typeof的操作是直接量形式的话能够返回准确的结果,如果是使用构造函数创建的对象则会返回“object“,不过对于数组来说是个例外,无论是否是直接量都会返回“object“。
JS中使用typeof能得到的哪些类型
typeof算是最常见的了,使用它会返回一个字符串,适合函数对象和基本类型(js中的基本类型:number、string、boolean、null、undefined、object[对象])的判断。
console.log(“测试number:“+typeof 1); console.log(“测试string:“+typeof “str“);
console.log(“测试false:“+typeof false); console.log(“测试null:“+typeof null);
console.log(“测试undefined:“+typeof undefined); console.log(“测试Object:“+typeof new Object());
console.log(“测试Object:“+typeof new Array());
console.log(“看看typeof NaN是啥:“+typeof NaN);
console.log(“我想看看数组[1,2,3]类型:“+typeof [1,2,3]);
console.log(“看看function是啥:“+typeof function(){});
c# 和Javascript中,Typeof()的用法
简单来说.typeof 就是来获取指定对象的数据类型..
这个东西不管对于C#还是JS都是一个意思.没有区别.
Type t = typeof(string);
Type t = typeof(System.String);
Type 是抽象类, typeof(类名称) 返回的是继承自Type 的RuntimeType
差别在于..C#你不能直接说typeof(“asdasdasd“)或者typeof(12313123)
给你返回对应的string类型 或者INT类型
而JS可以..详情看下面..
经常会在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“
if(typeof(Worker)!==“undefined“),,,能解释下吗在javascript中,typeof的用法
在js中typeof是用来检测变量的类型的
typeof [()expression] 返回一个用来表示表达式的数据类型的字符串, 返回值有六种可能: “number,“ “string,“ “boolean,“ “object,“ “function,“ 和 “undefined.“
Operand Resulet
undefined “undefined“
null “object“
Boolean value “boolean“
Number value “value“
String value “string“
Function “function“
其他值 “object“
C#下的typeof怎么用
也就是获取一些类型,委托用得比较多,有时候判断语句也可以用到
比如panel1事件,但是我定义了很多委托
panel1.click +=new eventhandler(eventhandler pa_click);
panel2.click +=new eventhandler(eventhandler pa_click);
....
//注意这里的 panel1 panel2都是事件pa
void pa_click(.....)//单击事件
{
type pan=new typeof(panel);
switch(pan)
{
case panel1:
处理的事件;
break;
case panel2:
处理的事件;
break;
....
}//希望这个例句对你有用,加油学啊!
VB中Typeof是函数还是语句,怎么用
TypeOf是语句,只应用于 If ... Then ... 语句中,MSDN解释:
TypeOf 《objectname》 Is 《objecttype》 形式的表达式。其中的 objectname 是任何对象的引用,而objecttype 则是任何有效的对象类型。如果 objectname 是 objecttype所指定的一种对象类型,则表达式为True,否则为False。
例如,将窗体中的所有文本框清空,用如下语句:
Dim c As Control
For Each c In Me.Controls
If TypeOf c Is TextBox Then c.Text = ““
Next
请教高手,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