草庐IT

Streaming模式

全部标签

javascript - 在 Javascript 中,如何在不更改函数的情况下检查函数是否处于严格模式*?

我想编写一个测试套件以确保某些给定函数使用严格模式。它们有很多,手动检查它们似乎是一件苦差事。Ananswerinasimilarquestion在函数定义上使用正则表达式进行检查。但是,我相信这会误检测被测试函数位于具有“usestrict”或文件级“usestrict”声明的函数内的情况。答案说“usestrict”是前置的,但在我的环境(MozillaRhino)中,情况并非如此:$catstrict_sub.js"usestrict";varstrict_function=function(){not_a_real_global="foo";};print(strict_fun

javascript - IE 中的 InnerHTML/outerHTML 不反射(reflect)复选框状态,但在怪癖模式下除外

我目前正在与一个IEJavaScript/DOM错误作斗争(这很有趣),它确实难倒了我。有问题的代码将一些复选框复制到一个表单中,并且需要维护它们的选中状态。问题是,IE(特别是IE8,虽然我猜其他人也是如此)不想这样做。我已将错误本身缩小到一个非常小的测试用例。基本上,页面上没有DOCTYPE时一切正常,但当存在DOCTYPE时它们会被破坏。我的预料恰恰相反,但谁知道IE。以下是最简单的测试用例。对于它们中的每一个:在IE中打开页面,切换复选框,然后单击“测试”。不产生错误:TESTdocument.getElementById('break').onclick=function()

javascript - 这两种 JavaScript 模式之间有什么区别吗?

查看一些JavaScript库和其他人的代码我看到了两种常见模式,我不知道使用其中一种是否有区别或优势。模式看起来有点像这样:1.varapp=(function(){//Privatevars//Modulevarobj={prop:"",method:function(){}};returnobj;})();2.(function(){//Privatevars//Modulevarobj={prop:"",method:function(){}};window.app=obj;})();这些模式是否相同,或者其中一个比另一个有优势或不同用途?提前致谢。

javascript - OLOO 模式说明

我仍在学习,但最近将我想从事的领域更改为网络开发。所以编程对我来说并不是什么新鲜事,但我从来没有真正看过javascript。我正在尝试快速学习,但我对javascript中使用的不同继承模式感到困惑。我查看了经典原型(prototype)链,其中.prototype引用由程序员设置(我认为这通常被称为原型(prototype)模式)。然后我阅读了很多关于OLOO及其在简单性方面的优势的博客和文章。因此,我尝试自己编写一个小示例,在研究一种好的方法时,我想出了一段代码,我无法真正将其放入这两个类别中的任何一个。如果有人想看的话,我做了一个fiddle:http://jsfiddle.n

javascript - IE11 中的 localStorage 访问被拒绝,但仅在桌面模式下(不在地铁模式下)

所以我有一个在Adob​​eAEM5.6.1上运行的网站,它检查localStorage是否可以访问。对我来说,问题是当我从桌面版IE11(在运行Windows8.1Pro的HPElitePad900上)访问该站点时,它因“拒绝访问”而中断。在同一台设备上,它可以正常使用IE11的地铁模式版本。它在至少两台其他计算机上也能正常工作,一台nativePC,一台virtualbox:ed在我的mac上。我知道您在运行本地html文件时不允许访问localStorage,但这是在我们的服务器上运行的。非功能性浏览器的访问权限/安全设置有何不同?有没有办法用javascript以编程方式检查这

javascript - 在模式中重复使用谷歌地图街景

我正在使用Rails开发网络应用程序。当我打开一个标记时,会弹出一个模态框,其中包含一个街景View。我可以打开一个或两个标记,但之后我收到一个错误,指出WebGL遇到了障碍。我试图在网上寻找资源,但没有任何意义。有关更多信息,请参见下面的图片。任何帮助将不胜感激。Firstimagewitherror这是我的控制台日志的图像:这是我的web应用程序中的JavaScript代码。varhandler=Gmaps.build('Google',{markers:{clusterer:{gridSize:60,maxZoom:20,styles:[{textSize:10,textColo

javascript - 严格模式是否禁止语句级函数声明?

"usestrict";if(true){functionfoo(){}}在PhpStorm中,此代码显示错误:Functionstatementnotattoplevelofaprogramorfunctionisprohibited但是,即使在调试器中并且没有任何控制台输出,Chrome也会愉快地执行它。现在禁止还是不禁止? 最佳答案 是的,在ES5中它们是被禁止的(并且在严格模式下,所有实现都会抛出异常)。另见Kangax'greatarticle对于草率模式下的函数语句。但是,在ES6中,它们是具有新语义的block级函数声

javascript - 这是一个很好的 javascript 装饰器模式吗?

我需要一些简单的对象,这些对象以后可能会变得更复杂,具有许多不同的属性,所以我想到了装饰器模式。我在查看Crockford的电源构造函数和对象扩充时做了这个://addpropertytoobjectObject.prototype.addProperty=function(name,func){for(propertyNameinthis){if(propertyName==name){thrownewError(propertyName+"isalreadydefined");}}this[name]=func;};//constructorofbaseobjectvarBasic

javascript - 为什么这在严格模式下是非法的?

是的,是的,我知道,严格模式还没有出现,但实际上,我正在为future做计划......那么,为什么会这样:$('#'+$(this).attr('id').replace('control-','legend-')).fadeIn();...在ES5严格模式下不允许吗?还是我理解有误?JSLint:Problematline516character18:Strictviolation.Coulditbealittlemoreverbose,Iwonder...?EDIT:Toavoidconfusion,here'smoreoftheoriginalcode:functiondisp

javascript - 对这个 javascript 模式感到困惑

遇到下面几行代码,但是看不懂。这是什么(/.../)(this);在javascript中的目的?它有这个模式的名称吗?代码如下://Move.js(function(exports){exports.Move=function(){};})(this); 最佳答案 这个模式是一个“ImmediatelyInvokedFunctionExpresssion”。简而言之,它只是一个立即执行的函数。末尾的this是要发送到将作为exports访问的内部函数的参数(function(exports){//thatwas"this"outs