草庐IT

react组件实例属性props

全部标签

Javascript:设置对象属性

我希望能够做到这一点:varuser1={name:'John',gender:'male'}varuser2={name:'James',gender:'male',email:'james@gmail.com'}user1.someSetMethod({email:'john@gmail.com'});user2.someSetMethod({name:'Jenny',gender:'female'});期望的结果:varuser1={name:'John',gender:'male',email:'john@gmail.com'}varuser2={name:'Jenny',ge

javascript - 为什么我的 for 循环不适用于我的 Javascript 属性?

我创建了这个对象及其属性:varobj={};Object.defineProperty(obj,"value",{value:true,writable:false,enumerable:true,configurable:true});varname="John";Object.defineProperty(obj,"name",{get:function(){returnname;},set:function(value){name=value;}});然后我对它们调用一个for循环:for(varpropinobj){console.log(prop);}根据我的教程,应该会产

javascript - 检查全局属性/函数是否已在 JavaScript 中被覆盖

JavaScript可以很容易地覆盖全局对象的属性和函数。我想找到一种方法来检查全局属性的原始版本是否已被替换。考虑有人将其放入他们的HTML中:window.encodeURIComponent=eval;如果myscript.js在某处调用encodeURIComponent函数,它现在的行为将不可预测。那么有没有一种方法可以在我使用之前检查myscript.js是否有人覆盖了该函数? 最佳答案 我唯一知道的是分析函数的字符串表示的直接方法。通常情况下,代码window.encodeURIComponent.toString()

javascript - 值、原型(prototype)和属性的区别

好的!首先,这个问题来自一个在jQuery世界中挖掘得太深(并且可能迷路)的人。在我的研究中,我发现jquery的主要模式是这样的(如果需要,欢迎更正):(function(window,undefined){jQuery=function(arg){//ThejQueryobjectisactuallyjusttheinitconstructor'enhanced'returnnewjQuery.fn.init(arg);},jQuery.fn=jQuery.prototype={constructor:jQuery,init:function(selector,context,ro

javascript - 可以创建 Location 的实例吗?

当我在控制台中键入window时。控制台显示window是Window的实例。是否可以使用newWindow()创建新的窗口对象。我试过了,但它抛出错误TypeError:Illegalconstructor我的问题与Location对象有关。我可以使用Location创建一个新对象吗?我需要它,以便我可以将location对象上可用的方法应用于我的链接。我试图访问Location对象但没有成功。我正在使用Chrome控制台。 最佳答案 尝试使用Location来操纵任意URI将无法按预期工作。Location对象/类型不是一般的U

javascript - 在对象初始值设定项中设置属性时不再调用 setter : what does this mean?

在此JSMDN页面是这样写的:JavaScript1.8.1noteStartinginJavaScript1.8.1,settersarenolongercalledwhensettingpropertiesinobjectandarrayinitializers.我只是不明白这是要告诉我什么。 最佳答案 此代码片段:varo={};o.seven=7;和这个代码片段:varo={seven:7};通常是等价的;但如果它们前面有这段代码片段:Object.prototype.__defineSetter__('seven',fun

javascript - 如何防止 iFrame 中的 JavaScript 访问外部站点的属性,即使 iFrame 的内容来自同一来源?

基本上我想要一个iFrame,它总是限制它的内容,就好像它来自不同的域,即使内容来自相同的来源。有什么办法吗? 最佳答案 最好的解决方案可能是在iframe上使用HTML5沙箱属性,它(默认情况下)明确禁用脚本和对父DOM的同源访问。很好的介绍在http://msdn.microsoft.com/en-us/hh563496.aspx截至2012年12月,这似乎是supportedonmostcurrentbrowsers. 关于javascript-如何防止iFrame中的JavaSc

javascript - JSHint 重新定义警告并向对象添加更多属性

我有跨越多个文件的对象定义,我使用以下语法向命名空间添加更多属性varapp=app||{};//andthenapp.namespace={...}但是JSHint会用类似的东西警告我:[L1:C5]W079:Redefinitionof'app'.varapp=app||{};我不确定这是否真的是错误的,因为我已经看到它被使用了很多次,例如连同模块模式。如果没问题,我如何才能全局禁止该警告?我找到了一种方法来抑制给定文件的给定选项/*jshint:-W079*/但是有没有办法在全局范围内做到这一点?或者它被认为是不好的做法? 最佳答案

javascript - Ember 组件中的共享状态

我试图构建一个简单的列表,并将追加小部件作为Emberjs组件。以下是我使用的代码:HTML:EmberComponentexampleAnappendablelist{{#eachiteminmyList}}{{item}}{{/each}}{{inputtype="text"value=newItem}}AppendItem{{appendable-list}}{{appendable-list}}Javascript:App=Ember.Application.create();App.AppendableListComponent=Ember.Component.extend(

javascript - 访问对象数组中的对象属性

我有一套vardata=[{"outlet_name":"EasyLaneSupermart","20130102_20130108":"0"},{"outlet_name":"EunilaineFoodmartKalayaan","20130102_20130108":"0"},{"outlet_name":"PUREGOLDPRICECLUB,INC-VISAYAS","20130102_20130108":"0"}];$.each(data,function(i,item){$.each(item,function(k,v){$('#result').append(k,v);})