草庐IT

Prototype_Console

全部标签

javascript - 在对象中公开原型(prototype)

有没有办法通过另一个对象暴露一个对象的原型(prototype)?varfoo=function(){varfoo={bar:bar,boo:boo}returnfoo;functionbar(age){this.age=age;}bar.prototype.shoutAge=function(){alert('Myageis'+this.age);}functionboo(age){this.age=age;boo.prototype.shoutAge=function(){alert('Myageis'+this.age);}}}varfoo=foo();varfar=newfoo

javascript 在 Object.create 的原型(prototype)参数中使用什么是 Object 与 Object.prototype

我试图理解Object和Object.prototype之间的区别。因为要创建一个空对象,使用了Object.prototype。我觉得为什么不反对。我正在通过以下方式创建一个对象。方法一:o=Object.create(Object.prototype,{p:{value:"test"}});console.log(o.__proto__);结果是:Object{__defineGetter__:function,__defineSetter__:function,hasOwnProperty:function,__lookupGetter__:function,__lookupSe

javascript - 原型(prototype)继承的差异,Firefox 与 Chrome

对于下面的代码:functionMammal(){this.hair=true;this.backbone=true;returnthis;}functionCanine(){this.sound='woof';returnthis;}Canine.prototype=newMammal();functionDog(name){this.tail=true;this.name=name;returnthis;}Dog.prototype=newCanine();varaspen=newDog('Aspen');varaspenProto=aspen.__proto__Firebug(F

javascript - 为什么 native 数据类型属性未显示在其相应的原型(prototype)上?

例如,Array数据类型有一个名为pop()的函数,我想它是使用以下方法添加的:Array.prototype.pop=function(){/*...*/};但据我所知,使它不可枚举的唯一方法是做这样的事情:Object.defineProperty(Array.prototype,"pop",{enumerable:false});并非所有浏览器都支持。Array.prototype.doSomething=function(){};vararr=[];console.log(arr);//[doSomething:function]那么为什么doSomething出现在这里,而p

javascript - 如何重新实现 'var that = this' 以使用 Object.prototype.bind() 保存范围引用?

在SecretsofJavascriptClosures,StuartLangridge提供了一段代码来演示闭包在.onclick回调中的常见用法,并解释如下:link.onclick=function(e){varnewa=document.createElement("a");varthat=this;document.body.appendChild(newa);newa.onclick=function(e){that.firstChild.nodeValue="reset";this.parentNode.removeChild(this);}}我最近偶然发现了KyleSim

javascript - 当前包装 console.log() 以保留行号的最佳方法是什么?

我以前根据其他SO答案使用过以下内容(没有真正理解prototype.apply.apply的必要性(或工作原理)varmylogger={log:function(){if(window.console){if(window.console.log){Function.prototype.apply.apply(console.log,[console,arguments]);}}},...};虽然这可以防止IE自行崩溃,但它也会使行号报告不可用(它总是报告apply.apply..行。我玩了一会儿,发现以下内容似乎完全符合我的需要,即防止IE自行崩溃并报告mylogger.log(

console.log 中的 JavaScript 对象输出

我想知道打印对象时console.log从哪里得到构造函数的名字。另外,这实际上对代码有什么影响吗?functionF(){this.test='ok';}varf=newF();console.log(f);console.log(在Chrome中)的输出是:F{测试:“确定”}console.log从哪里得到F{test...中的F?如果我将F.constructor、F.prototype和f.constructor更改为随机值,它仍会打印原始的F:functionG(){this.fail='bad';}functionF(){this.test='ok';}F.prototy

javascript - 变量隐式声明和原型(prototype)

尽量保持简短。使用phpstorm查看我的代码并发现了一些错误。它说我的函数命名位置有一个“隐式声明的变量”functiontowngate10(){updateDisplay(locations[10].description);if(!gate10){score=score+5;gate10=true;}playerLocation=10;displayScore();document.getElementById("goNorth").disabled=true;document.getElementById("goSouth").disabled=false;document.

javascript - 难以手动走原型(prototype)链

我想尝试手动遍历几个对象的原型(prototype)链,看看我在这个过程中找到了什么。但是,我卡在了我尝试的第一个上。这是代码:functionMyObject(){}varx=newMyObject();console.log('--------------------------------------------');console.log('x.constructor.name:'+x.constructor.name);console.log('x.constructor.prototype.constructor.name:'+x.constructor.prototype

javascript - Node.js console.log(object) 打印空对象

我很好奇Node.js通过console.log(object)打印对象的方式。我在文件constructor.js下有以下代码(来自LearningJavascriptDesignPatterns一书)vardefineProp=function(obj,key,value){varconfig={value:value,writable:true,configurable:true};Object.defineProperty(obj,key,config);}varperson=Object.create(Object.prototype);defineProp(person,"