草庐IT

文字装饰

全部标签

javascript - 字符串对象与文字 - 修改原型(prototype)?

我想知道为什么向字符串文字的原型(prototype)添加方法似乎有效,但添加属性却不行?我正在研究与thisquestion有关的想法,并具有以下代码:String.prototype._str_index1=0;String.prototype._str_reset=function(){this._str_index1=0;};String.prototype._str_substr=function(len){varret=this.substr(this._str_index1,len);this._str_index1=this._str_index1+len;return

javascript - javascript对象文字中的事件处理程序

我正在尝试创建一个对象并从中分配点击处理程序。我意识到我无法按照自己的意愿去做,因为“this”与按钮相关联,而不是与对象文字相关联,从而中断了对函数的访问。“未捕获的类型错误:对象#没有方法‘clearSelection’”请看下面的fiddle。http://jsfiddle.net/ebKk8/这里是引用代码。它不应该在这个阶段做任何有用的事情,除了说明问题:)functionThingConstructor(someData){varbutton=$("#someButton");return{initialise:function(){button.click(functio

javascript - 带有 React 组件的装饰器

我对能够使用@myDecorator语法(使用babel)感到非常兴奋。我正在尝试装饰生命周期函数之一,特别是componentWillMount,并检查装饰器中组件的props和context。但是,我似乎无法访问props或context。我不确定这是否是一种反模式,或者我只是在做这个错误。小例子://TestComponent.jsximportcheckPropsfrom'checkProps.js';classTestComponentextendsReact.Component{@checkPropscomponentWillMount(){//Dosomething.}r

javascript - 文字字体调整

我在完成字体增加/减少jquery函数时遇到了问题。它有3种尺寸:大、中(默认一个)和小。这里的问题是没有网络上许多示例中的“重置”按钮,而只有两个按钮来增加或减小字体大小。当我换成更大的字体,我想减少到中间的字体时,问题就出现了。它不会回到中间,而是变为较小的值或向后(从小到大)。有什么办法可以做到这一点?如果您能给我任何帮助,我将不胜感激,谢谢 最佳答案 这是我使用的:$(document).ready(function(){varsize=$('#container').css('font-size');$("#largeFo

javascript - 为什么 String.prototype 的方法可用于字符串文字?

这个问题出自another,它涉及console.dir与字符串文字的行为。特别是,请参阅关于myanswer的评论.众所周知,JavaScript中的String对象有很多方法。这些方法在String.prototype对象上定义。String.prototype.toUpperCase例如。因此,我们可以这样做:vars=newString("hello"),s2=s.toUpperCase();//toUpperCaseisamethodonString.prototype不过,我们也可以这样做:vars="hello",//sisastringliteral,notaninst

javascript - 修改 Mongoose 对象文字结果不起作用

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Whycan’tyoumodifythedatareturnedbyaMongooseQuery(ex:findById)首先,我对mongoDB进行查询,获得了所有正确的结果,但只有对对象文字的小修改不起作用。我正在尝试做的是为评论添加新字段。我尝试使用DBref方法,但它不起作用,所以我现在进行了2次查询。varquery=Rss.findOne({_id:itemId});query.exec(function(err,feed){if(!err&&feed.comments){console.log(f

javascript - 如何在导入语句中使用模板文字?

这个问题在这里已经有了答案:Howtoperforma“variable”ES6import?(12个答案)关闭6年前。当这一行被执行时:importstatsfrom`./${process.env.STATS}`报错如下:Parsingerror:Unexpectedtoken`使用表达式可以成功加载模块:conststats=require(`./${process.env.STATS}`);import语句似乎需要一个常规字符串,因为它与语句一起使用:importstatsfrom'./statsdir'其中'./statsdir'是process.env.STATS的值。为什

javascript - const 与内联字符串文字,编译优化

这不是问题,而是基于代码结构对V8优化的探索。我和另一位开发人员正在就V8的编译优化争论conststringliteralvsinlinestringliteral的值(value)。当然,假设我们始终处于严格模式。这里有一些代码示例放在上下文中:常量constNAME="something";functiondoSomething(s){returnNAME+s;}对比内联字符串functiondoSomething(s){return"something"+s;}我们的共识:-const为魔法值提供更多上下文,从而简化维护。我们不同意的地方:我说const的使用允许V8编译时优化

javascript - 将变量分配为对象与将变量分配为对象文字表示法/对象构造函数表示法有什么区别?

这个问题在这里已经有了答案:Whatisthedifferencebetween`newObject()`andobjectliteralnotation?(12个答案)关闭5年前。我只是碰巧注意到,当将变量分配为Object时,变量的类型是“函数”,而如果我使用对象字面量表示法将其分配为空对象{}或实例化为一个newObject,typeof变量是一个对象。这里有什么区别?请注意,我不是在问对象字面量表示法和构造函数表示法之间的区别。

javascript - 如何有条件地将属性添加到 javascript 对象文字

我正在尝试执行以下操作以满足代码构建器(具体来说是SenchaCmd)的要求。这就是我需要做的本质。关键因素是函数体必须以对象文字的返回结束。由于构建器中的限制,我无法返回变量。因此,如果参数“includeB”为真,如何在下面的伪代码点添加属性“b”,但如果参数为假,则根本不添加属性。即不允许b==undefined或b==null。也许这是不可能的。functioncreate(includeB){//CanhavecodeherebutthefinalthingMUSTbeareturnoftheliteral.//...return{a:1//pseudocode://if(i