jjzjj

javascript原型(prototype)继承和对象属性

我正在尝试将原型(prototype)继承应用于Javascript中的函数。这一切都非常简单,甚至在Wikipedia'sjavascriptlemma中进行了描述.如果我的属性是简单的javascript类型,它就可以工作:functionPerson(){this.age=0;this.location={x:0,y:0,absolute:false};};functionEmployee(){};Employee.prototype=newPerson();Employee.prototype.celebrate=function(){this.age++;}varpete=n

javascript - 在Javascript中, 'Object.create'和 'new'的区别

我认为差异已经在我脑海中闪过,但我只是想确定一下。在DouglasCrockford页面上PrototypalInheritanceinJavaScript,他说Inaprototypalsystem,objectsinheritfromobjects.JavaScript,however,lacksanoperatorthatperformsthatoperation.Insteadithasanewoperator,suchthatnewf()producesanewobjectthatinheritsfromf.prototype.我不太明白他在那句话中想说什么,所以我进行了一些

javascript - 我对 JavaScript 中的对象感到很困惑

我是JavaScript的新手,但我熟悉Python。我想弄清楚Python中的字典和JS中的对象之间的区别。据我所知,Python中字典中的key是需要提前定义的,而JS中的对象中可以是undefined。但是,我对这些情况感到困惑:varn='name';varn2=n;varperson={n:'mike'};person.n#'mike'person['n']#'mike'person[n2]#undefinedperson.n2#undefinedperson['name']#undefinedperson.'name'#undefined我很困惑为什么这三个变量n,n2和n

javascript - JavaScript try-catch 是否忽略了预期的偶然错误的不良做法?

在JavaScript中使用try-catchblock并忽略错误而不是测试block中的许多属性是否为null是错误的吗?try{if(myInfo.person.name==newInfo.person.name&&myInfo.person.address.street==newInfo.person.address.street&&myInfo.person.address.zip==newInfo.person.address.zip){this.setAddress(newInfo);}}catch(e){}//ignoremissingargs

javascript - 创建由多个组件组成的表

因此,当我开始深入研究angular2时,我想我创建了一个列出人员的表。一个组件用于创建表格(person-list),另一个组件用于表格中的每个人(person-list-item)。很简单,对吧?通过以下输出,我意识到这并不容易。如您所见,表格行不遵循表格结构。通过在检查器中查看html,我们还可以看到毁了table。有没有办法解决这个问题,或者我应该只在中创建表格行?元素为了不让浏览器毁了表格?我想这是一个适用于多个组件会破坏某个DOM元素的其他情况的问题。app.componentimport{PersonListComponent}from'./person-list.com

javascript - `this`指的是什么?

我有一个JavaScript类:functionPerson(n){//...}在类之外,我有以下代码:Person.prototype.shower=function(){this.dirtFactor=2}上面代码中的this指的是什么?它指的是prototype还是Person类? 最佳答案 this的含义取决于您如何调用函数,而不是您如何定义它。假设你做了类似的事情:varbob=newPerson('whatevernis');bob.shower();然后this将是bob(这将是Person的一个实例)。

javascript - 内联条件

-if(typeof(person)=='undefined')input(type="text",name="person[Name]")-elseinput(type="text",name="person[Name]",value="#{person.Name}")有什么办法可以内联写这个吗?我有一个选项选择,但我不想为30多个值执行条件语句来选择正确的选项。 最佳答案 你可以使用mixinsmixinsafeInput(person,property)-if(typeof(person)=='undefined')input

javascript - 不理解在 Javascript 中使用 new 关键字

下面的代码片段来自O'Reilly的“JavascriptWebApplications”。在其中,作者解释说,使用new关键字通常会返回一个this上下文,除非您特别返回其他内容——在下面,他正在返回一个函数,该函数将设置一个新类(class)”,用他的话来说(第7页):varClass=function(){varklass=function(){this.init.apply(this,arguments);};klass.prototype.init=function(){};returnklass;};varPerson=newClass;Person.prototype.i

javascript - Firebase 更新或设置

将关于某个人的帖子添加到Firebase数据库后,我想将对新帖子的引用添加到该人。然而,这个人可能已经存在,也可能不存在。我有:varref=newFirebase("https://mydatabase.firebaseio.com/");var_person=document.getElementById("Person").value;var_remark=document.getElementById("Remark").value;varpostsRef=ref.child("remarks");varnewPostRef=postsRef.push({person:_per

javascript - React 类方法覆盖

我正在尝试在React中创建某种类组合:classEntity{constructor(props){super(props);}renderPartial(){return(Entity)}render(){return(header{this.renderPartial()});}}classPersonextendsEntity{constructor(props){super(props);}renderPartial(){return(Person)}}classManagerextendsPerson{constructor(props){super(props);}ren