草庐IT

Object方法

全部标签

Javascript for ... in 循环与 Object.prototype 和 Array.prototype 属性

这个问题在这里已经有了答案:HowtodefinemethodinjavascriptonArray.prototypeandObject.prototypesothatitdoesn'tappearinforinloop(4个答案)Whyisusing"for...in"forarrayiterationabadidea?(28个答案)Howtoiterateoverallpropertiesinobject'sprototypechain?(1个回答)关闭5年前。我正在阅读MDNdocs为了更好地理解javascript。这是那里的摘录Object.prototype.objCus

javascript - Javascript slice 方法是否返回浅拷贝?

在Mozilla开发人员翻译的韩语语言中,“切片方法”返回浅层复制的新数组。所以我测试了我的代码。varanimals=['ant','bison','camel','duck','elephant'];vart=animals.slice(2,4);console.log(t);t[0]='aaa';console.log(t);console.log(animals);但是,如果slice方法返回浅数组,则动物数组应更改为['ant','bison','aaa','duck','elephant']。为什么是浅拷贝? 最佳答案

javascript - IE Javascript 错误 "Object doesn' t 支持此属性或方法"within jQuery

出于某种原因,我在InternetExplorer8中的jquery.js(版本1.4.3,非压缩版本)第3156行收到以下Javascript错误:对象不支持此属性或方法。在Firefox和GoogleChrome中不会出现错误。这是错误发生的行:if((match=Expr.leftMatch[type].exec(expr))!=null&&match[2]){调查(console.log(Expr.leftMatch[type]))产生以下有趣的结果:在GoogleChrome中,它输出/(^(?:.|\r|\n)*?):((?:[\w\u00c0-\uFFFF\-]|\\.)

javascript - 一个更优雅的多行javascript字符串方法

我知道如何在不使用+=的情况下打印一个巨大的字符串的唯一方法是使用\反斜杠。丑!varlongString='\\testcontent.maybesomecode\\';document.getElementById('foo').innerHTML=longString;有没有办法在longString未被污染的情况下做到这一点?php有$foo='''长多行字符串''';我想要这个在javascript中!有人知道在javascript中打印长的多行字符串的更好方法吗? 最佳答案 一般来说,答案是:不在语言语法中。尽管正如Ke

javascript - 从子类调用父类(super class)方法 - JavaScript

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:setattributewithjavascriptsupermethod为了好玩,我正在尝试用HTML5创建一个简单的游戏。我有一个Entity类,它应该是Player类的父类(superclass)。functionEntity(x,y){this.x=x;this.y=y;this.tick=function(){//Dogenericstuff}}functionPlayer(x,y){this.parent.constructor.call(this,x,y);this.tick=function(

javascript - 组合 getter 和 setter 方法有什么好处?

我见过一些API,特别是在脚本语言中(我们在我们的团队中使用Perl和JS),它们使用组合的getter和setter方法。例如,在jQuery中://appendsomethingtoelementtextvarelement=$('div#foo');element.text(element.text()+'abc');例如,在Perl的CGI.pm模块中:#readURLparameterfromrequestmy$old_value=$cgi->param('foo');#changevalueofparameterinrequest$cgi->param('foo',$new

javascript - 尝试使用 vanilla JS 创建一个 each 方法,就像在 jQuery 中一样

Element.prototype.each=function(fn){for(vari=0;i我正在尝试制作一个类似于jQuery中的each方法。我在for循环和回调中尝试了很多东西,但我遇到了错误。我确定这与“this”上下文有关。 最佳答案 您可以使用调用来设置上下文编辑:Element不是正确的类,它应该是NodeList和HTMLCollectionNodeList.prototype.each=HTMLCollection.prototype.each=function(fn){for(vari=0;i当您使用Func

javascript - 为什么 Object.__proto__.__proto__ 不为空?

我的理解是Object.__proto__是javascript中的“顶级”原型(prototype)对象。我希望它的__proto__为空,但在谷歌浏览器中(没有尝试过其他浏览器),它不是。这是为什么?编辑我知道下图可能是下图的重新哈希,但我自己做了它以检查我的理解。它有什么问题吗? 最佳答案 Object是一个函数,它的__proto__是一个空函数function(){}。根对象是一个空对象{},而不是Object。所以,当你有一个像{foo:1,bar:1}这样的对象时,它的关系如下所示:

javascript - JS函数声明: curly brace object assigned with an empty object in parameter declaration

这是代码,exportfunctioncreateConnect({connectHOC=connectAdvanced,mapStateToPropsFactories=defaultMapStateToPropsFactories,mapDispatchToPropsFactories=defaultMapDispatchToPropsFactories,mergePropsFactories=defaultMergePropsFactories,selectorFactory=defaultSelectorFactory}={}){...}函数参数声明中的{connectHOC=

javascript - 创建数字数组的功能方法

在没有任何第3方库的情况下,如何使用ES6更有效地编写以下代码?//samplepagerarray//*outputupto11pages//*thecurrentpageinthemiddle,ifpage>5//*don'tincludepagerlastPage//*Expectedoutputusingexample://[9,10,11,12,13,14,15,16,17,18,19]constpage=14//byexampleconstlastPage=40//byexampleconstpagerPages=page=>{letnewArray=[]for(leti=