jQuery技术

Jquery typeof的使用方法详解

字号+ 作者:H5之家 来源:H5之家 2018-01-23 08:05 我要评论( )

Jquery typeof在jquery中用到的不多但在js中判断变量时会有用到了,下面我们来看一篇关于Jquery typeof的使用方法详解,希望下文对各位有帮助。

Jquery typeof的使用方法详解

ypeof语法: typeof([extension])

即typeof后边跟一个表达式,要不要括号都可以。它将返回一个字符串,表示表达式的类型,而表达式的类型只有六种可能:number、string、boolean、object、function、undefined

实际的类型可以参考微软的一份JScript帮助文档中的“JScript 的数据类型”,其中还有null,但null经过typeof返回的类型是object。而一个变量,如果没有赋值时,它的类型为undefined,但它值为null。

typeof的误用:

if (x == undefined) if (typeof(x) == undefined) 正确的应该是 if (typeof(x) == "undefined")

对比这两句话: //var x; if (typeof(x) == "undefined") alert("OK1"); if (x==null) alert("OK2");

有定义语句var x;时,两句都执行正常。 如果没有定义语句时,第一句没问题,第二句就提示'x'未定义

再对比这两句:

x=null; if (typeof(x) == "undefined") alert("OK1"); if (x==null) alert("OK2");

因此用typeof来检测变量是否有定义是最合适不过的了

以下把几种情况都列出来:

n=12.2;
alert("n=12.2:" + typeof n);

n="12.2";
alert("n=\"12.2\":" + typeof n);

n=false;
alert("n=false:" + typeof n);

n=[12, 11, 13];
alert("n=[12, 11, 13]:" + typeof n);
alert("n[1]:" + typeof n[1]);

obj=function (){var i=0; function show() { alert(i); }};
n=new obj();
alert("n=new obj():" + typeof n);

n=function () { alert("OK"); };
alert("n=function () { alert(\"OK\"); }:" + typeof n);

alert("nnnnnn:" + typeof nnnnnn);

alert("null:" + typeof null);

以typeof的误用有如下两种情况:

if (x == undefined)
if (typeof(x) == undefined)
正确的应该是
if (typeof(x) == "undefined")

对比这两句话:

//var x;
if (typeof(x) == "undefined") alert("OK1");
if (x==null) alert("OK2");

有定义语句var x;时,两句都执行正常。
如果没有定义语句时,第一句没问题,第二句就提示'x'未定义

再对比这两句:

x=null;
if (typeof(x) == "undefined") alert("OK1");
if (x==null) alert("OK2");

因此用typeof来检测变量是否有定义是最合适不过的了。返回到最原始的问题:
if (typeof window.jQuery == "undefined")
{
 var jQuery = ...
 ...
}

这段代码加上里面的程序体,就能够保证程序体只被执行一次,第二次执行时,

typeof window.jQuery就是"function"了。举例:有个文件,script引用写了两遍
1.htm
<html>
<head>
<script language="javascript" type="text/javascript"

src="D:/inetpub/JQuery/JQ.js"></script>
</head>
<body>
<script language="javascript" type="text/javascript"

src="D:/inetpub/JQuery/JQ.js"></script>
<script>
alert("|" + $.trim("  abc  ") + "|");
</script>
</body>
</html>

通过断点,我们可以看出对于jQuery的构建,只在第一次执行。

不过,我感到可惜的是,如果不同窗口,就要分别执行了。如以下两个文件:
1.htm
<html>
<head>
<script language="javascript" type="text/javascript"

src="D:/inetpub/JQuery/JQ.js"></script>
</head>
<body>
<a href="2.htm">链接到第二个页面2.htm</a>
<script>
alert("|" + $.trim("  abc  ") + "|");
</script>
</body>
</html>

2.htm

<html>
<head>
<script language="javascript" type="text/javascript"

src="D:/inetpub/JQuery/JQ.js"></script>
</head>
<body>

第二页面

<script>
alert("|" + $.trim("  abc  ") + "|");
</script>
</body>
</html>
jQuery的构建体就执行了两遍。

相关文章

  • jQuery图片查看插件Magnify开发详解01-11
  • jQuery简单实现向列表动态添加新元素的方法示例01-10
  • jQuery EasyUI window窗口使用实例代码01-10
  • Spring Data Jpa+SpringMVC+Jquery.pagination.js实现分页示例01-09
  • jQuery EasyUI 选项卡面板tabs的使用实例讲解01-07
  • 文章评论

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • onbeforeunload事件,页面刷新及离开事件

      onbeforeunload事件,页面刷新及离开事件

      2018-01-23 15:04

    • jquery 中eq和get的区别

      jquery 中eq和get的区别

      2018-01-22 18:00

    • Douban的jquery使用技巧

      Douban的jquery使用技巧

      2018-01-22 16:05

    • jQuery教程视频_hover事件绑定

      jQuery教程视频_hover事件绑定

      2018-01-22 16:00

    网友点评
    c