c# 和Javascript中,Typeof()的用法

在c#中typeof(类型,比如int,double,自定义的类名称)。但是我在JavaScript中验证变量是否为undefined。代码如下:valx;if(type... 在c#中typeof(类型,比如int,double,自定义的类名称)。
但是我在JavaScript中验证变量是否为undefined。代码如下:
val x;
if (typeof (x) == "undefined") {
alert('undefined');
}
在c#的typeof()中里面不能为类的实例对象,只能为类名。但是JavaScript咋能用变量了。请JavaScript中typeof()的用法,如果c#typeof()我理解不对,也求详解。谢谢。
展开
 我来答
Ben
推荐于2016-12-01 · 知道合伙人软件行家
Ben
知道合伙人软件行家
采纳数:860 获赞数:2875
认真回答者.

向TA提问 私信TA
展开全部
简单来说.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"
追问
那说明c#和JavaScript的typeof()运算符是不一样的。各自的typeof()不一样?根本是两种语法?谢谢?
追答
运行目的上来讲..他们都是用来获取指定内容的数据类型的.
从使用方法上来讲.他们不一样的地方是一个可以写变量或者直接写值.
另外一个只能写类名.
这么说吧.!有点绕口哦~
JS你可以获取一个你不知道是什么类型的数据的类型..
而C#你只能获取你知道是什么数据类型的数据的类型用来做其他的业务逻辑处理

看上面例子就明白了..
比如

alert(typeof (123));//typeof(123)返回"number"

明显..我不知道123是什么类型..
而C#的却是
typeof(string)我明知道是STRING类型还要让我获取对应类型..

其实C#的偏向于业务逻辑处理.
而JS的可以做的事情比较多.
左手编码
2012-11-16 · TA获得超过756个赞
知道小有建树答主
回答量:421
采纳率:0%
帮助的人:351万
展开全部
c#和javascript是两种不同的语言,各自有自己规则。c#是怎样,不关javascript的事,它也不会影响到javascript.c#中的typeof如何使用我不太清楚。至于javascript中的用法,我的理解是这样的。javascript是弱类型的语言,它没有类的概念。所有的变量都是用var关键字申明(当然,函数声明还可以用function)。我们需要查看一个数据的类型,会用typeof函数。如何给这个函数串参数呢?因为javascript没有类的概念,而且所有的变量都是用var申明的(这就不可能通过申明知道它的数据类型)。因此,最好的办法就是给这个函数传递引用数据的变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2016-10-24
展开全部
  typeof 运算符:

  typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。
  返回一个用来表示表达式的数据类型的字符串。
  typeof[()expression[]] ;

  expression 参数是需要查找类型信息的任意表 达式。

  说明:

  typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."

  typeof 语法中的圆括号是可选项。

    
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式