是否可以在运行时决定应该枚举JS对象的哪些属性?
就像这样
myobj = {};
myobj.keys = function() { // I made this keys function up. Is there something like that in JS?
if ((new Date).getSeconds() < 30)
return [1,2,3];
else
return [4,5,6];
}
for(p in myobj)
console.log(p); // returns either 1,2,3 or 4,5,6
此外,如果对
在IE8中测试时,我得到这个错误: Object不支持这个属性或方法我使用的是最新版本的uploadify。
它出现在一个自定义的javascript文件中,我已经将其包含在页面的head部分中。代码如下:
$(function () {
$('#fileupload').uploadify({ // <--IE points to this line: Object doesn't support this property or method
'uploader' :
这里有一个函数,我需要在另一个文件中处理另一个名为OrderRepository的函数。
main.js
function main() {
var orderRepo = new OrderRepository();
// Your code here
}
orderrepository.js
function OrderRepository() {
}
OrderRepository.prototype.getYesterdaysOrders = function
getYesterdaysOrders() {
var yesterdaysOrders = [{ arr
我经常使用来计算范围、函数调用站点以及所有这些,同时推进我的JS学习升级。最近我遇到了这样的情况:
function foo() {
console.log( this.a );
}
var a = 2;
function bar() {
var a = 5;
foo();
};
bar();
Google在我期待5(foo的呼叫站点)的时候,给了我一个2。有趣的是,pythong家教(当然是在JS下)给了我一个未定义的错误消息,如下所示:
我有两个问题:
为什么结果是2而不是5自,调用站点的foo是在酒吧,其中a是5。
为什么pytho
我正在通读Backbone.js源代码,并对这些代码(L230-238,v0.5.3)感到有点困惑。
unset : function(attr, options) {
if (!(attr in this.attributes)) return this;
options || (options = {});
var value = this.attributes[attr]; // ?: value appears to be unused (?)
// Run validation.
var validObj = {};
validObj[attr] = voi
这是最近出现的一个问题,但我在一个网站上使用了scriptaculous,而这周所有的IE浏览器都没有显示任何内容。声明的错误是:
Message: Unable to get value of the property 'replace': object is null or undefined Line: 1400 Char: 13 Code: 0
这在prototype.js文件(版本1.5.0)上。
所有其他浏览器都没问题。关于如何修复它有什么想法吗?
谢谢
我只想巩固(确切地知道)什么是js对象、方法和属性。到目前为止,这是我自己的观点,但我不怀疑,这就是为什么我在这里知道和证明我所需要的是真实的。
var property= "is this a property?";
function method(){"is this a method?"};
var ObjectLiteral = {property:"this should be a property of this ObjectLiteral I guess", method:function(){"this should be
学习JS在codecademy,混淆了一些技术上的继承在第18/30课。
企鹅是动物的子类。
我将企鹅的原型设置为动物,在企鹅构造函数中我指定了它的numLegs。但是,我没有指定它的名称和食物,它们是动物类的属性。
企鹅构造函数只接受一个参数,名称,而动物构造函数采用3:名称、食物和numLegs。
例如,如果我创建一个名为"Bob“的新企鹅对象,它的numLegs和食物是什么?
// the original Animal class and sayName method
function Animal(name, numLegs, food) {
this.name =
我试图更好地掌握javascript类的内容和原因。具体来说,我试图理解将一个方法分配给一个原型和使用一个this.methodName =函数.构造函数中的语句。所以,我做了一个实验:
function CThis(){
this.method= function() {
console.log("method of ",this);
};
}
function CProto(){
}
CProto.prototype.method = function() {
console.log("method of ",this);
};
w
在js文件中使用“使用严格”语句之后,它不允许我在ist级别之后使用javascript 这个
'use strict'
module.exports = {
a: function() {
var self = this //works fine upto this level
var name = 'atul';
function b() {
this.name = name; //gives me error as can not set property name of undefined
}
}
}
我正在尝试创建一个电子应用程序。在main.ts中,我构造了我认为相当简单的类(如下所示),但是构造函数不会运行。对readline.createInterface(inputStream)的调用失败。运行时似乎不认为调用fs.createReadStream返回的变量在其上有一个名为' on‘的函数。
例外是
Uncaught Exception:
TypeError: Cannot read property 'on' of undefined
at new Interface (readline.js:142:10)
at Object.expor
当函数作为对象属性被调用时,this被设置为父对象。类似的规则适用于以构造函数或事件处理程序的身份调用函数,但在浏览了关于JS作用域的文章超过我所能计算的数量之后,并深入研究ECMA5.1规范,我无法准确地确定函数作为回调传递时是如何设置执行上下文的。
这段代码清楚地表明,作为回调传递给另一个方法的方法,即使在同一个对象中,也会恢复到全局执行上下文(无论是在浏览器中还是在Node.js中)。
var name = 'global';
var self = function() {
return this.name;
}
var cback = function(ff)