草庐IT

function-prototypes

全部标签

javascript - 使用 javascript 对象原型(prototype)扩展类时出现问题

我遇到了这个问题...B是基类,A是派生类...事件虽然A派生自B,但A的各种对象指向B的同一个对象。我知道我已经将B的对象分配给A的原型(prototype),以使A成为B的子对象。但是A的不同对象,应该有不同的地址空间来存放变量吧?你能纠正这个吗?functionB(){this.obj={};}functionA(){}A.prototype=newB();vara=newA();varb=newA();varc=newA();console.log(a.obj==b.obj);//printstrueconsole.log(a.obj===b.obj);//printstrue

javascript - 包装函数和 function.length

假设我有以下代码/*...*/var_fun=fun;fun=function(){/*...*/_fun.apply(this,arguments);}我刚刚在_fun上丢失了.length数据,因为我试图用一些拦截逻辑来包装它。下面的不行varf=function(a,b){};console.log(f.length);//2f.length=4;console.log(f.length);//2annotatedES5.1specificationstates.length定义如下Object.defineProperty(fun,"length",{value:/*...*/

Javascript Prototype Chaining父类(super class)构造函数和方法调用

我是JavaScript世界的新手,在尝试原型(prototype)链继承时遇到了这个奇怪的问题。我有3个类(class)//classparentfunctionparent(param_1){this.param=param_1;this.getObjWithParam=function(val){console.log("valueinparentclass"+val);console.log("Constructorparameter:"+this.param);};};//classchildfunctionchild(param_1){this.constructor(pa

javascript - 为什么原型(prototype)函数比默认声明的函数慢 40 倍?

我玩过jsperf.com,发现原型(prototype)函数比“默认”声明的函数慢40倍。String.prototype.contains=function(s){return!!~this.indexOf(s)}=220Kops/s对比functionisContains(str,s){return!!~str.indexOf(s)}=8.5KK操作/秒Here'sajsperftestcase附言我知道原型(prototype)修改不是最好的情况,可以命名为“猴子修补”:) 最佳答案 我认为它很慢,因为字符串基元每次调用一个

javascript - 为什么 ES5 Object 方法没有添加到 Object.prototype 中?

ES5添加了一个number的methods到Object,这似乎打破了JavaScript的语义一致性。例如,在此扩展之前,JavaScriptAPI始终围绕操作对象本身;vararrayLength=[].length;varfirstPosInString="foo".indexOf("o");...新的Object方法是这样的;varobj={};Object.defineProperty(obj,{value:'a',writable:false});...当以下内容更加符合时:varobj={};obj.defineProperty({value:'a',writable:

javascript - 类型错误 : 'undefined' is not a function (evaluating '$( "#wnd_Addparam"). 对话框')

我有2个月的这个例子,我换了PC。现在这似乎不再起作用了。这是一个应该通过(之前)按下按钮来加载小窗口对话框的示例。但是,它不起作用...这是我的代码://varregex,v,l,c,b;$("#wnd_Addparam").dialog({autoOpen:false,height:'auto',width:350,modal:true,resizable:false,buttons:{"Add":function(){$(this).dialog("close");},Cancel:function(){$(this).dialog("close");}},close:funct

javascript - "TypeError: ' 未定义 ' is not a function"尝试使用 jQuery UI 时

我正在尝试使用slider()jQueryUI的功能,并不断在控制台中收到以下错误:类型错误:undefined不是函数(计算jQuery('#slider').slider())我确实已正确链接到jQueryUIjavascript和CSS文件-当我查看页面源代码时,它们都在那里。为什么我仍然收到此错误?如果有用的话,我正在使用Rails和一些Bootstrap东西。这是JavaScript代码:$(document).ready(function(){$('#slider').slider();});谢谢这是:NewCompany-OEFortbyOxfordEntrepreneu

javascript - 为什么在原型(prototype)而不是构造函数中声明实例属性?

我完全理解为什么最好使用原型(prototype)而不是构造函数来定义类方法,(即Useof'prototype'vs.'this'inJavaScript?)但是,我最近遇到了一个HashMapclass在原型(prototype)中定义了count属性,在构造函数中定义了map属性:js_cols.HashMap=function(opt_map,var_args){/***UnderlyingJSobjectusedtoimplementthemap.*@type{!Object}*@private*/this.map_={};/...}/***Thenumberofkeyval

JavaScript:原型(prototype)是静态的同义词吗?

我正在自学来自OOP背景的JavaScript。我正在学习的书让我想,“哇,属性几乎和静态方法或变量一样!”如果是这种情况,我很乐意更多地实现它们以节省一些内存,但在我爱上它们之前,我想确保我正确使用它们。是这样吗?我的逻辑错了吗?我在下面添加了一些示例代码以用作我的问题的上下文。希望它没有过于简单化:functionperson(first,age){this.firstName=first;this.age=age;}person.prototype.sayHello=function(){return"himynameis"+this.firstName+"andIam"+age

javascript - FireFox 是否支持 Date.prototype.toLocaleString() 中的 IANA 时区?

在执行以下代码时,我在FireFox38.0.1(在撰写本文时全新安装了最新版本)中遇到了一个令人惊讶的异常:vard=newDate()varformattingOptions={timeZone:'America/New_York',month:'2-digit',day:'2-digit',year:'numeric',hour:'numeric',minute:'numeric',second:'numeric'};varformattedDate=d.toLocaleString('en-US',formattingOptions);显然,FireFox不喜欢我对format