Tag: JavaScript

使用variablesdynamic访问对象属性

我试图使用dynamic名称访问对象的属性。 这可能吗? const something = { bar: "Foobar!" }; const foo = 'bar'; something.foo; // The idea is to access something.bar, getting "Foobar!"

什么是明确的承诺build设反模式,我如何避免它?

我正在编写的代码看起来像这样: 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”这个关键字是如何工作的?

我注意到,似乎并没有清楚的解释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的本质是相同的。 当你看到有关特定语言的答案时,请考虑这个问题。

为什么jQuery或者像getElementById这样的DOM方法找不到元素?

document.getElementById , $("#id")或任何其他DOM方法/ jQueryselect器没有find元素的可能原因是什么? 示例问题包括: jQuery默默无法绑定事件处理程序,而标准DOM方法返回null导致错误: Uncaught TypeError:无法设置null的属性“…”

访问/进程(嵌套)对象,数组或JSON

我有一个(嵌套的)数据结构包含对象和数组。 我如何提取信息,即访问特定的或多个值(或键)? 例如: var data = { code: 42, items: [{ id: 1, name: 'foo' }, { id: 2, name: 'bar' }] }; 我怎样才能访问项目中的第二个项目的name ?

JavaScriptclosures如何工作?

你如何解释JavaScript闭包给了解它们所包含的概念(例如函数,variables之类)的人,但是自己并不理解闭包? 我已经看到维基百科给出的Scheme示例 ,但不幸的是它没有帮助。

我怎样才能在JavaScript中查询string值?

有没有插件,通过jQuery(或没有)检索查询string值的方式? 如果是这样,怎么样? 如果没有,是否有插件可以这样做?

为什么我的variables在函数内部修改后没有改变? – asynchronous代码引用

给出以下示例,为什么在所有情况下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) […]

如何在callback中访问正确的`this`?

我有一个构造函数注册一个事件处理程序: 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 = […]