草庐IT

strict-prototypes

全部标签

javascript - Douglas Crockford 的 Strict Mode Example 是不是错了?

我敢肯定他不是。我只是不明白他的演讲中的一个例子http://youtu.be/UTEqr0IlFKY?t=44mfunctionin_strict_mode(){return(function(){return!this;}());}这不也一样吗?functionin_strict_mode(){return!this;}如果is_strict_mode()是method那么我同意,因为this然后会指向包含方法的对象,例如my_object.in_strict_mode=function(){return(function(){return!this;}());}但为什么他在他的示

javascript - 为什么我们不能使用 ES6 箭头函数创建原型(prototype)?

首先,我创建一个ES5函数,然后创建它的原型(prototype):varPerson=function(){};Person.prototype.city=function(){return'NewYork'}我在这里没有错误。但是当我使用ES6粗箭头函数创建相同的对象时,我得到Cannotsetproperty'city'ofundefined:letPerson=()=>{};Person.prototype.city=()=>{return'NewYork'}这是为什么? 最佳答案 因为根据定义,箭头函数没有原型(proto

Javascript 原型(prototype)和访问类的问题

Family=function(name){this._Name=name;}Family.prototype={getName:function(){returnthis._Name;},People:function(num){this._Number=num;}}Family.People.prototype={clearNumber:function(){this._Number=0;}}People是一个嵌套类。它的父类是Family。我得到的错误是Family.People未定义。有人可以更正上面的代码吗? 最佳答案 工

javascript - Angular CLI - 如何在整个应用程序中共享原型(prototype)函数

我需要在字符串类上有一些全局原型(prototype)函数。例如。string.prototype.trimWhiteSpaces=function(){returnthis.replace(/+/g,'');}我正在使用AngularCLI,我希望我的Angular4应用程序中的所有字符串都可以访问此函数。我已将代码片段添加到名为prototypes.js的文件中,并在.angular-cli.json中加载了该文件"scripts":["assets/js/prototypes.js","../node_modules/jquery/dist/jquery.min.js","../

javascript - Object.keys(anObject) 是否返回一个对象的原型(prototype)?

这个问题在这里已经有了答案:Whydoesjavascript's"in"operatorreturntruewhentestingif0existsinanarraythatdoesn'tcontain0?(6个答案)关闭4年前。我正在阅读EloquentJavaScript'sMapsection我无法理解它的最后一段:Ifyoudohaveaplainobjectthatyouneedtotreatasamapforsomereason,itisusefultoknowthatObject.keysreturnsonlyanobject’sownkeys,notthoseinth

javascript - 来自 prototype.js 第 3877 行的 "undefined handler"

一个非常小众的问题:我有时(30%的时间)在prototype.js库(来自google的版本1.6.0.2:http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js)的第3877行收到“未定义的处理程序”javascript错误。现在在这个页面上我有一个谷歌地图,我使用原型(prototype)窗口库。问题出现在IE7和FF3中。这是FireBug提供的信息:handlerisundefined?inprototype.js@3871()prototype.js(line3877)handler.call(

javascript - JavaScript 中的原型(prototype)继承约定

我看到很多这样的代码:functionBase(){}functionSub(){}Sub.prototype=newBase();但是,如果您这样做:s=newSub();print(s.constructor==Sub);这是错误的。这让我感到困惑,因为s的构造函数确实是Sub。这样做是传统的/更好的吗?functionBase(){}functionSub(){}Sub.prototype=newBase();Sub.prototype.constructor=Sub;还是真的不重要? 最佳答案 'constructor'并不

javascript - IE7 中的 Element.prototype?

我正在尝试扩展所有dom元素,以便我可以获取和删除它们的子元素。该功能如下(适用于FF和Chrome)。IE7中是否有等效项来扩展基本dom对象?if(!Element.get){Element.prototype.get=function(id){for(vari=0;i谢谢! 最佳答案 这是一个简单的解决方法,在99%的情况下都足够了。它也可以按照您的脚本的要求完成:if(!window.Element){Element=function(){};var__createElement=document.createElement

javascript - "use strict"仅在调试中?

我想知道当我完成编程并向任何人发布我的JavaScript文档时是否真的有必要包含"usestrict"。我喜欢使用它,因为它可以检查我的编码是否正确。那么,当我向公众发布我的JavaScript文件时,我应该包含还是删除use"usestrict"?我问的原因是为了节省我的JavaScript文件的空间。 最佳答案 我发现了两种关于在生产中使用严格模式的观点:Thereisnoreasontoship“usestrict”inyourproductioncode.Thereisnoperformancegain(verifiedw

javascript - Object.prototype.toString.apply(value) 与 value.toString() 有何不同?

据我了解,前者将:在Object上找到toString方法在value上调用它,但this绑定(bind)到valuevalue.toString()会。在value的原型(prototype)链中找到toString方法通过函数调用模式调用toString将与this绑定(bind)的值作为值所以不同之处在于,如果值中有一个重写的toString方法……它将使用它。我的问题是:这是唯一的区别吗?相反,如果我们想保证我们正在调用Parent的方法而不可能被Child覆盖,那么此模式是否是使用的标准模式?(在这种情况下,Parent=Object,Child=类值来自,如果我们以经典方式