我遇到了测试某些代码变体(本机/插件)性能差异的需求.
是否有一个在线服务,如jsbin,jsfiddle执行,我可以把代码放在哪里,比如
// BEGIN
var bla;
jQuery.map(bla, function(){});
// END
Run Code Online (Sandbox Code Playgroud)
并获得执行时间?
MyGlobalObject;
function TheFunctionICanUseRightAwaySingleForAllInstansesAndWithoutInstanse() {
function() {
alert('NO CONSTRUCTOR WAS CALLED');
}
};
Run Code Online (Sandbox Code Playgroud)
长命名函数必须可以调用MyGlobalObject,在window加载脚本后,它必须始终作为全局(to )变量可用.它应该支持符合最新标准的可扩展性.
我正处于如何为应用程序构建JS基础的架构困境(几乎100%JS).
我们需要一个对象即window.MyObject(像一个模块,比如jQuery)
它可以创建
VAR1
var MyGlobalObjConstructor = function(){
this.GlobalFunctionInObject = function(){
alert('called with MyGlobalObj.GlobalFunctionInObject()');
}
};
window.MyGlobalObj = new MyGlobalObjConstructor();
Run Code Online (Sandbox Code Playgroud)
是MyGlobalObj可扩展的?我可以创建子对象,它将继承MyGlobalObj(MyGlobalObj.NewFunc例如扩展函数/属性)的当前状态吗?使用原型(VAR3)之间的主要区别是什么?
通过GlobaldFunction我的意思是所有的初始化/实例化(可能instantializable)情况下,单一实例..
或者
VAR2
var MyGlobalObj = {
GlobalFunctionInObject: function...
GlobalFunctionInObject2: function...
};
MyGlobalObj.GlobalFunctionInObject();
// here I lose all hierarchy elements, no prototype,
// can I use GlobalFunctionInObject2 in GlobalFunctionInObject?
Run Code Online (Sandbox Code Playgroud)
或者
VAR3 …
当且仅当目标字段存在时,javascript中是否有一种方法可以将对象中的命名字段的值分配给另一个对象的相同字段.即覆盖旧值,不添加新值,使用ideomatic构造,单行(特殊于javascript和/或jQuery)并且绝不循环,甚至for-in.
var theSource = {
field1: "TEXT",
field2: "VAL",
field3: "ZZ",
field4: "4",
field5: "5"
},
theTarget = {
field2: "0",
field3: "",
field4: null,
field5: undefined
};
Run Code Online (Sandbox Code Playgroud)
就像是
var result = jQuery.overwriteOnlyExisting(theTarget, theSource);
result === {
field2: "VAL"
field3: "ZZ"
...
}
Run Code Online (Sandbox Code Playgroud)
不保留field1和field3之后的旧字段.
jQuery.extend - 可以覆盖值,但也会复制新字段.
我们在这有哪些选择?
http://jsbin.com/owivat/1/edit(下划线) - 我喜欢这个,现在是找到jquery方式的时候了.
结果:
_.extend(theTarget, _(theSource).pick(_(theTarget).keys()));
Run Code Online (Sandbox Code Playgroud)
142,850 Ops/sec
Object.keys(theTarget).map(function(a) { if (a in theSource) theTarget[a] = theSource[a]; });
Run Code Online (Sandbox Code Playgroud)
403,243 Ops/sec
我们有
<div class="xTable">
<table>
<tr>
<td>
<div class="xTable">
<table>
<tr>
<td>
<div class="xTable">
<table>...</table>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
如何将自定义CSS样式应用于2nd div,仅应用于2nd div而不是1或3或更深?
没有办法添加额外的课程或IDS!Html是动态生成的,无法管理.
我会用
.xTable table .xTable
Run Code Online (Sandbox Code Playgroud)
但这意味着第三和更深的div将受到影响.
没有ID!请仅限CSS选择器.
谢谢!
我们有一个部分HTML:
<ul>
<li class="class1">AFFECTED</li>
<li class="class1 class2">NOT</li>
<li class="class1">NOT</li>
</ul>
<ul>
<li class="class1 class2">NOT</li>
<li class="class1">AFFECTED</li>
<li class="class1">NOT</li>
</ul>
<ul>
<li>NOT</li>
<li class="class1">AFFECTED</li>
<li class="class1">NOT</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我需要一个通用的 css选择器,用于任何只有class1的列表的第一个li.
我试过使用:not(class2),[class2]:first-child&:first-of-type但没有用.
谢谢!