我试图使用dynamic名称访问对象的属性。 这可能吗? const something = { bar: "Foobar!" }; const foo = 'bar'; something.foo; // The idea is to access something.bar, getting "Foobar!"
我正在编写的代码看起来像这样: function getStuffDone(param) { | function getStuffDone(param) { var d = Q.defer(); /* or $q.defer */ | return new Promise(function(resolve, reject) { // or = new $.Deferred() etc. | // using a promise constructor myPromiseFn(param+1) | myPromiseFn(param+1) .then(function(val) { /* or .done */ | .then(function(val) { d.resolve(val); | resolve(val); }).catch(function(err) { /* .fail */ | […]
我注意到,似乎并没有清楚的解释this关键字是什么,以及它是如何正确(和不正确)在堆栈溢出网站的JavaScript中使用。 我目睹了一些非常奇怪的行为,不明白为什么会发生。 这是如何工作的,什么时候应该使用?
我有这个代码: <script type="text/javascript"> var foo = 'bar'; <?php file_put_contents('foo.txt', ' + foo + '); ?> var baz = <?php echo 42; ?>; alert(baz); </script> 为什么这不写入“酒吧”到我的文本文件,但警报“42”? 注意:这个问题的早期版本是明确的关于服务器上的PHP和客户端上的JavaScript。 在客户端和服务器上运行的任何一种语言,问题和解决scheme的本质是相同的。 当你看到有关特定语言的答案时,请考虑这个问题。
document.getElementById , $("#id")或任何其他DOM方法/ jQueryselect器没有find元素的可能原因是什么? 示例问题包括: jQuery默默无法绑定事件处理程序,而标准DOM方法返回null导致错误: Uncaught TypeError:无法设置null的属性“…”
我有一个(嵌套的)数据结构包含对象和数组。 我如何提取信息,即访问特定的或多个值(或键)? 例如: var data = { code: 42, items: [{ id: 1, name: 'foo' }, { id: 2, name: 'bar' }] }; 我怎样才能访问项目中的第二个项目的name ?
你如何解释JavaScript闭包给了解它们所包含的概念(例如函数,variables之类)的人,但是自己并不理解闭包? 我已经看到维基百科给出的Scheme示例 ,但不幸的是它没有帮助。
有没有插件,通过jQuery(或没有)检索查询string值的方式? 如果是这样,怎么样? 如果没有,是否有插件可以这样做?
给出以下示例,为什么在所有情况下outerScopeVar定义outerScopeVar ? var outerScopeVar; var img = document.createElement('img'); img.onload = function() { outerScopeVar = this.width; }; img.src = 'lolcat.png'; alert(outerScopeVar); var outerScopeVar; setTimeout(function() { outerScopeVar = 'Hello Asynchronous World!'; }, 0); alert(outerScopeVar); // Example using some jQuery var outerScopeVar; $.post('loldog', function(response) { outerScopeVar = response; }); alert(outerScopeVar); // Node.js example var outerScopeVar; fs.readFile('./catdog.html', function(err, data) […]
我有一个构造函数注册一个事件处理程序: function MyConstructor(data, transport) { this.data = data; transport.on('data', function () { alert(this.data); }); } // Mock transport object var transport = { on: function(event, callback) { setTimeout(callback, 1000); } }; // called as var obj = new MyConstructor('foo', transport); 但是,我无法访问callback中创build的对象的data属性。 看起来this不是指创build的对象,而是指向另一个对象。 我也尝试使用对象方法而不是匿名函数: function MyConstructor(data, transport) { this.data = data; transport.on('data', this.alert); } MyConstructor.prototype.alert = […]