草庐IT

python属性和继承

全部标签

javascript - 列出对象的内置属性

有没有办法让我循环遍历Javascript对象的内置属性?for...in让我接近我想去的地方,但是“for...in循环不会遍历内置属性。” 最佳答案 我意识到这个问题已经有三年了,但是现在,有了ES5,有可能:>>>Object.getOwnPropertyNames(Object)[“原型(prototype)”、“getPrototypeOf”、“getOwnPropertyDescriptor”、“键”、“defineProperty”、“defineProperties”、“创建”、“getOwnPropertyName

javascript - JavaScript 中的正则表达式 - 替换图像 src 属性

在JavaScript中,我有一个包含DOM片段的字符串。如何查找和替换图像的src属性?我想用新路径替换所有图像的路径,但保留图像名称。并非所有路径都相同,并且可能来自不同的位置。我的正则表达式技能充其量很差。例如:Changeinto 最佳答案 采纳了gumbo的回答并添加了一些东西来改进它:如果输入的字符串包含一些东西除了可能有的标签一个src属性-这将不再匹配/替换它们。src属性可能是使用单引号或双引号。测试不区分大小写。导致:string.replace(/]*)\ssrc=(['"])(?:[^\2\/]*\/)*([

javascript - backbone.js 设置模型属性内部字段

我想设置一个backbone.js模型的属性,但只是一个内部字段而不是整个字段。示例代码可能是:model.set('user.avatar','img')有什么我可以做的吗?谢谢 最佳答案 您可以简单地复制对象,设置属性,然后在原始模型上重新设置它:varuserAttributes=model.get("user");userAttributes.avatar="img";model.set("user",userAttributes)或者添加一个函数来从对象中设置模型上的部分用户:model=Backbone.Model.ex

javascript - 主干 View 继承

我正在尝试为一个对象浏览器编写一个BackboneView,该View旨在在具有不同对象类型和略有不同操作的多个地方实现。我曾尝试简单地在我的浏览器中扩展主干View,然后在我的实现中扩展浏览器,但是这给我留下了一些共享的属性。这是一个不受欢迎的效果,因为数据会附加到每个浏览器创建的所有实现中。有人可以阐明解决此问题的方法或替代解决方案吗?以下是一些代码示例,可让您更好地了解它的当前状态:varBrowserView=Backbone.View;_.extend(BrowserView.prototype,Backbone.View.prototype,{className:'brow

javascript - 如何在 html 元素属性中使用 Angular 2 外推?

我想将一些数据绑定(bind)到非自定义html元素属性。但是,不推断属性中的{{}}。我看过其他相关帖子“AngularjstemplateUrlfailstobindattributesinsideng-repeat”,这是自定义指令的Angular1解决方案。例如,我有:size=500;我希望以下SVG元素能够正常工作:我应该如何在Angular2中执行此操作? 最佳答案 简答当HTML属性和DOM属性之间没有1:1映射时,必须使用attributebindingsyntax否则Angular2将报告“模板解析错误”。例子:

Javascript继承与应用

我一直在研究Javascript中的设计模式并找到了http://tcorral.github.com/Design-Patterns-in-Javascript/Template/withoutHook/index.html成为一个很好的来源。谁能解释一下使用ParentClass.apply(this)的意义varCaffeineBeverage=function(){};varCoffee=function(){CaffeineBeverage.apply(this);};Coffee.prototype=newCaffeineBeverage();PS:我试着评论Caffein

javascript - 如何继承DOM元素类

我想编写一些扩展DOM节点的Javascript类(这样我就可以将我的类的实例直接插入到DOM中),但是很难找到我应该从哪个类/原型(prototype)继承。例如:functionmyExtendedElement(){this.superclass=ClassA;this.superclass();deletethis.superclass;}但是ClassA应该是什么? 最佳答案 这样做不是一个好主意。首先,要从DOM元素继承,您需要有权访问该元素的原型(prototype)。问题是并非所有浏览器都提供对DOM元素原型(pro

javascript - 混淆javascript属性?

我最近测试了UglifyJS和YUICompressor并注意到一些奇怪的事情。两个压缩器似乎都不会更改对象属性的名称,只会更改变量和函数的名称。例如,如果我有以下代码:varobjName={first:2,second:4};alert(objName.first+""+objName.second);名称first和second在缩小版本中保持不变。这是为什么? 最佳答案 由于在javascript中,一个新的作用域是在一个函数中创建的,您可以在一个立即调用的函数中对您的代码进行作用域。//scoped(function(){

javascript - IE 错误,对象不支持此属性或方法

functioncharCount(){$.doTimeout('poll',150,function(){messageVal=$('#messageLabeltextarea').val();messageLength=messageVal.length;//IEBREAKSHERE$('#messageLength').html(messageLength+'/140')if(messageLength>140){$('#messageLength').not('.inv').addClass('inv')}else{$('#messageLength.inv').removeC

javascript - 如果用户可以使用语言 rtl 或 ltr,如何自动更改输入字段的 CSS 方向属性

示例:如果我使用阿拉伯语,文本字段方向将为rtl,如果我想编写新文本并切换到英语,文本字段内的方向(`text-align:left)将为ltr自动 最佳答案 您可以在此处使用值为auto的全局HTML5属性dir,如下所示:来自规范:Theautokeyword,whichmapstotheautostateIndicatesthatthecontentsoftheelementareexplicitlyembeddedtext,butthatthedirectionistobedeterminedprogrammatically