在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的问题 打开新窗口并且关闭本窗口不弹出要关闭窗口前的提示function openWin(){window.open(‘login.jsp’,”,’fullscreen=yes,menubar=no,resizable=no’);...
在JavaScript的世界里,`window`对象是全局对象,它提供了与浏览器窗口进行交互的各种方法和属性。...实践是检验理论的最好方式,所以请务必查看这些示例,以便加深对`window`对象相关特性的理解。
对window.open进行封装, 使其更好用, 且更兼容, 很多人说window.open不兼容,其实不是, 因为不能直接执行, 必须通过用户手动触发才行;看代码: 代码如下 var openWindow = function(url, options) { var str = ""; ...
### window.location.href页面跳转的用法(区别于redirect) #### 概述 在Web开发过程中,页面跳转是一项常见的需求。通常我们会使用`Response.Redirect`来进行页面跳转,但这种方式无法在跳转前执行客户端脚本...
在本篇讨论中,我们将深入理解`window.open`的工作原理以及如何利用它来实现弹窗并获取返回值。 首先,`window.open`的基本语法如下: ```javascript window.open(url, name, features); ``` - `url`: 必需参数,...
[removed] function closeWin(){ window.opener=null; window.open(”,’_self’,”); window.close(); } [removed] <a>logout</a> </body> </html> 火狐默认不支持js关闭浏览器窗口,可以在about:...
[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的区别 #### 一、概述 在JavaScript中,`window.location` 和 `window.open` 都是用来控制浏览器导航的重要API,但它们在使用场景、功能特性和行为上有显著的...
总结一下,`window.showModalDialog`更适合需要用户完成特定任务并收集反馈的场合,因为它是阻塞的,用户无法忽略对话框继续操作。而`window.open`则更灵活,常用于打开新的浏览环境,如新标签页或窗口,允许用户...
根据提供的文件信息,我们可以推断出本文主要讨论的是关于网页打印功能的相关知识点,特别是如何使用JavaScript中的`window.print()`方法来实现网页内容的打印,并且提到了如何利用`onbeforeprint`与`onafterprint`...
### window.clearInterval与window.setInterval的用法 在前端开发中,经常需要用到定时器来实现某些功能,例如计时器、轮播图等。而`window.setInterval`和`window.clearInterval`是JavaScript中用于处理定时任务的...
window.loadAcp){window.loadAcp = true;let url;$axure.internal($ax => {url = $ax.globalVariableProvider.getVariableValue('AxhubJsLink')});$axure.utils.loadJS(url || '...
var neva = window.open('test2.jsp', '_blank'); neva.moveTo(-4, -4); neva.focus(); self.blur(); ``` 在上面的代码中,我们首先使用 Window.open 方法打开一个新的窗口,然后使用 moveTo 方法将窗口移动到左上角...
下面总结几种生成导出的写法: 一. 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()`方法在不同浏览器环境下的特性和使用细节。 ### window.open() 方法概述 `window.open()`是JavaScript中一个非常实用的方法,它用于在一个新的浏览器窗口或...
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_...
在JavaScript编程中,`window.alert()` 是一个内置的全局函数,用于向用户显示警告对话框,通常包含一条消息和一个“确定”按钮。这个方法在网页开发中常用于简单的信息提示,但有时开发者可能需要自定义其行为,...
Window.showModalDialog 和 Window.open 用法简介 Window.showModalDialog 和 Window.open 都是 JavaScript 中的方法,用于创建新窗口或对话框,下面分别介绍它们的用法和参数。 一、Window.open() 方法 Window....
JavaScript学习笔记之window对象使用介绍涵盖了多个方面的知识,包括窗口位置、浏览器大小、打开或弹出窗口、location对象以及history对象的使用。在详细介绍之前,首先明确window对象是浏览器中一个非常重要的全局...