在下面查看修改内容!
我目前正在寻找一种方法来重载动态生成(由函数返回)toString的一个特定函数的方法。我知道我可以重载的toString功能Function.prototype,但这将重载所有 toString功能的所有功能,我想避免这种情况。
我的示例函数:
var obj = {
callme: function() {
return function() {
// Dynamically fetch correct string from translations map
return "call me, maybe";
}
}
}
// Binding callme to func, allowing easier access
var func = obj.callme.bind(obj);
console.log(func, func())
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试将函数视为普通的JavaScript对象。
func.toString = function() {
return this();
}
Run Code Online (Sandbox Code Playgroud)
这导致Function.prototype.toString仍然调用而不是func.toString。
func.prototype无法尝试访问,该prototype属性未定义,因为它是一个函数而不是对象。不能选择覆盖toString,Function.prototype也不能更改func为对象,因为这可能会破坏与代码较早部分的兼容性。 …
在我的PHP端,我有一组关联数组,如下所示:
Array (
[0] => Array (
[resultId] => 15
[testId] => 4
[accountId] => 35
[score] => 50
[standard_deviation] => 0.5
[answer_time] => 475.67
[created_at] => 2012-09-20 01:45:05
[groupId] => 4
[accountName] => hbbgrewkcx
[testName] => test1),
[1] => Array (
[resultId] => 14
[testId] => 3
[accountId] => 35
[score] => 60
[standard_deviation] => 0.5
[average_answer_time] => 386.1
[created_at] => 2012-09-20 01:44:56
[groupId] => 4
[accountName] => hbbgrewkcx
[testName] => test2)
)
Run Code Online (Sandbox Code Playgroud)
我想将此数组传输到javascript端.如何使这个关联数组数组的javascript对应并访问所需的值?
基本上我想要与foreach在PHP中给我相同的功能:
foreach($ArrayOfArrays as $array)
{ …Run Code Online (Sandbox Code Playgroud) 嗨,我对jQuery和JavaScript相对较新,并对...的功能有疑问$.extend.我extend用来覆盖扩展"基类"的类的原型.让我们调用基Parent和儿童/扩展类A和B.现在,当我使用$.extend(true, A.prototype, {someObject: {extraKey: 'value'}});它时,似乎原型Parent的内容也发生了变化someObject,如果几个对象/类继承自父项,则会导致非常奇怪的行为.这也只有在使用"深度"扩展时才会发生.
我设法通过使用相应的原型扩展一个空对象然后使用extend的返回值作为新原型来避免这个问题.例如A.prototype = $.extend(true, {}, A.prototype, {someObject: {extraKey: 'value'}});
为了显示问题,我创建了这个小jsfiddle:http://jsfiddle.net/x8UtF/12/
实际的问题:有没有办法绕过空的物体和东西去 extend(true, X.prototype, {});