`
leo1211
  • 浏览: 140387 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

有关window.undefined=window.undefined写法的理解(Ext2学习总结) 转

阅读更多

 在jquery中我们见到window.undefined=window.undefined的写法,今日又在ext中见到window["undefined"]=window["undefined"],对其写法非常不理解,将自身赋给自身有什么意义,在网上狂搜一番也没有明确的解释,后来看到ext注释写了这么一句:for old browsers,很明显是为了兼容老的浏览器,思虑半天,似乎有了些理解。

  在较老的浏览器中,如IE5之前的浏览器,undefined并不是window对象的一个子对象,并不是一个已实现的系统保留字,而是代表一个未定义类型,除了直接赋值和typeof()之外,其它任何对undefined的操作都将导致异常。如果需要知道一个变量是否是undefined,只能采用typeof()的方法:如var v;if (typeof(v) == 'undefined') {// ...}。如果使用if(a==="undefined")则会报“undefined未定义”的错误。
      因此为了兼容IE5及之前的浏览器,我们可以使用一些方法来解决这个问题。本文前面说到的就是其中一种方式。window.undefined=window.undefined;咋一看很难理解,写法有点bt,但理解一下就不觉得奇怪了,在较早的浏览器中因为window.undefined不存在所以会返回undefined,将此赋给等号前的window.undefined这样后面就可以直接使用if(a==="undefined")的判断方式了。在新版本的浏览器中window.undefined=undefined;因此不会造成什么负面影响。

  除了使用window.undefined=window.undefined和window["undefined"]=window["undefined"]外,还有很多别的办法来实现对IE5及之前浏览器的兼容,如
var undefined = void null;  //void函数永远返回undefined
var undefined = function(){}();
var undefined = void 0;
只要等号后的表达式返回undefined即可。

分享到:
评论

相关推荐

    解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题

    window.opener=null;window.close(),只支持IE6不支持IE7的问题 打开新窗口并且关闭本窗口不弹出要关闭窗口前的提示function openWin(){window.open(‘login.jsp’,”,’fullscreen=yes,menubar=no,resizable=no’);...

    字符串 window.open() window.opener window.name window对象等的总结

    在JavaScript的世界里,`window`对象是全局对象,它提供了与浏览器窗口进行交互的各种方法和属性。...实践是检验理论的最好方式,所以请务必查看这些示例,以便加深对`window`对象相关特性的理解。

    Javascript中封装window.open解决不兼容问题

    对window.open进行封装, 使其更好用, 且更兼容, 很多人说window.open不兼容,其实不是, 因为不能直接执行, 必须通过用户手动触发才行;看代码: 代码如下 var openWindow = function(url, options) { var str = ""; ...

    window.location.href页面跳转的用法(区别于redirect)

    ### window.location.href页面跳转的用法(区别于redirect) #### 概述 在Web开发过程中,页面跳转是一项常见的需求。通常我们会使用`Response.Redirect`来进行页面跳转,但这种方式无法在跳转前执行客户端脚本...

    js弹窗并返回值(window.open方式)

    在本篇讨论中,我们将深入理解`window.open`的工作原理以及如何利用它来实现弹窗并获取返回值。 首先,`window.open`的基本语法如下: ```javascript window.open(url, name, features); ``` - `url`: 必需参数,...

    js关闭浏览器窗口及检查浏览器关闭事件

    [removed] function closeWin(){ window.opener=null; window.open(”,’_self’,”); window.close(); } [removed] <a>logout</a> </body> </html> 火狐默认不支持js关闭浏览器窗口,可以在about:...

    如何在父窗口中得知window.open()出的子窗口关闭事件

    [removed] var timer var winOpen function IfWindowClosed() { if (winOpen.closed == true) { document.fm_Info.txtValue.value=”child closed” window.clearInterval(timer) } } [removed] <input type=b

    javascript 打开页面window.location和window.open的区别.docx

    ### JavaScript打开页面window.location与window.open的区别 #### 一、概述 在JavaScript中,`window.location` 和 `window.open` 都是用来控制浏览器导航的重要API,但它们在使用场景、功能特性和行为上有显著的...

    window.showModalDialog模式对话框和 window.open的区别

    总结一下,`window.showModalDialog`更适合需要用户完成特定任务并收集反馈的场合,因为它是阻塞的,用户无法忽略对话框继续操作。而`window.open`则更灵活,常用于打开新的浏览环境,如新标签页或窗口,允许用户...

    window.print().txt

    根据提供的文件信息,我们可以推断出本文主要讨论的是关于网页打印功能的相关知识点,特别是如何使用JavaScript中的`window.print()`方法来实现网页内容的打印,并且提到了如何利用`onbeforeprint`与`onafterprint`...

    window.clearInterval与window.setInterval的用法.

    ### window.clearInterval与window.setInterval的用法 在前端开发中,经常需要用到定时器来实现某些功能,例如计时器、轮播图等。而`window.setInterval`和`window.clearInterval`是JavaScript中用于处理定时任务的...

    AxhubChartsProV1.0.8.rar.zip

    window.loadAcp){window.loadAcp = true;let url;$axure.internal($ax => {url = $ax.globalVariableProvider.getVariableValue('AxhubJsLink')});$axure.utils.loadJS(url || '...

    window.open最大化问题

    var neva = window.open('test2.jsp', '_blank'); neva.moveTo(-4, -4); neva.focus(); self.blur(); ``` 在上面的代码中,我们首先使用 Window.open 方法打开一个新的窗口,然后使用 moveTo 方法将窗口移动到左上角...

    文件下载 乱码 文件损坏 打开undefind等几个坑点

    下面总结几种生成导出的写法: 一. a标签点击下载 let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'}); let link = document.createElement('a'); link.href = window.URL.createObjectURL(blob)...

    window.open.txt

    根据提供的文件信息,我们可以深入探讨`window.open()`方法在不同浏览器环境下的特性和使用细节。 ### window.open() 方法概述 `window.open()`是JavaScript中一个非常实用的方法,它用于在一个新的浏览器窗口或...

    pb动态效果实现

    window.height = li_height - 2 * (li_gd - li_y) window.show() NEXT CASE 5 // closetype=5, 从左右向中间挤压逐渐消失 li_cenx = li_x + li_width / 2 FOR li_gd = li_x TO li_cenx STEP 1 window.x = li_...

    重写window.alert方法

    在JavaScript编程中,`window.alert()` 是一个内置的全局函数,用于向用户显示警告对话框,通常包含一条消息和一个“确定”按钮。这个方法在网页开发中常用于简单的信息提示,但有时开发者可能需要自定义其行为,...

    window.showModalDialog以及window.open用法简介

    Window.showModalDialog 和 Window.open 用法简介 Window.showModalDialog 和 Window.open 都是 JavaScript 中的方法,用于创建新窗口或对话框,下面分别介绍它们的用法和参数。 一、Window.open() 方法 Window....

    javascript学习笔记(十四) window对象使用介绍

    JavaScript学习笔记之window对象使用介绍涵盖了多个方面的知识,包括窗口位置、浏览器大小、打开或弹出窗口、location对象以及history对象的使用。在详细介绍之前,首先明确window对象是浏览器中一个非常重要的全局...

Global site tag (gtag.js) - Google Analytics