Tag: JavaScript

为什么在JavaScript中合法使用((foo)=“bar”)?

在Node.js的REPL(也在SpiderMonkey中testing)序列 var foo = null; (foo) = "bar"; 是有效的, foo随后等于"bar"而不是null 。 这似乎是违反直觉的,因为人们会认为括号至less会解除引用,并且在赋值时抛出无效的左手边 。 可以理解的是,当你做任何有趣的事时,都会以上述方式失败。 (foo, bar) = 4 (true ? bar : foo) = 4 根据LeftHandExpressions的ECMA-262 (据我所能解释),没有任何有效的非终结符会导致括号被接受。 有没有我没有看到的东西?

AngularJS监视对象数组中的对象属性

我有我的控制器中的这些data $scope.data = { home: { baseValue: "1", name: "home" }, contact: { baseValue: "2", name: "contract" } // a lot more options }; 用一些这样的HTML: <section class="content row" ng-repeat="item in data"> {{item.name}} …. </section> 现在,我想知道什么时候baseValue被改变,但是由于我在数据variables中使用了一个对象,所以我不能以更简单的方式watch这个属性。 我已经尝试过这样的事情,但我必须循环所有的数组 $scope.$watch('data', function (newValue, oldValue, scope) { // some code to compare the tow arrays, line by line }, true); […]

这个JavaScript打破了控制台?

只是在谷歌浏览器中做一些JavaScript的东西(现在不想尝试在其他浏览器中,以防这真的造成真正的损害),我不知道为什么这似乎打破了我的控制台。 >var x = "http://www.foo.bar/q?name=%%this%%"; <undefined >x 在X(和进入)后,控制台停止工作…我重新启动铬,现在当我做一个简单的 console.clear(); 这是给我的 Console was cleared 而不是清除控制台。 现在在我的脚本console.log的不注册,我想知道是怎么回事。 99%确定它与双百分号(%%)有关。 任何人都知道我做错了什么或更好,如何修复控制台? 这个问题的bug报告已经在这里提交。 编辑:感觉很笨,但我有保存日志检查…这就是为什么控制台不清除。

针对JSON响应的jQuery AJAX轮询,基于AJAX结果或JSON内容的处理

我是一个新手到中级的JavaScript / jQuery程序员,所以具体/可执行的例子将非常感激。 我的项目需要使用AJAX来轮询一个URL,该URL返回包含要添加到DOM的内容的JSON,或者消息{“status”:“pending”} ,指示后端仍在使用内容生成JSON响应。 这个想法是,对URL的第一个请求触发后端开始build立一个JSON响应(然后被caching),随后的调用检查这个JSON是否准备好(在这种情况下提供)。 在我的脚本中,我需要以15秒的间隔轮询这个URL,最长1:30分钟,然后执行以下操作: 如果AJAX请求导致错误,请终止脚本。 如果AJAX请求成功,并且JSON内容包含{“status”:“pending”} ,请继续轮询。 如果AJAX请求成功,并且JSON内容包含可用内容(即{“status”:“pending”}以外的任何有效响应),则显示该内容,停止轮询并终止脚本。 我已经尝试了一些有限的方法,但是我感觉它们比所需要的更加混乱。 下面是我成功使用的一个骨架函数,一次只能创build一个AJAX请求,如果从JSON响应中获得可用的内容,就可以完成它的工作: // make the AJAX request function ajax_request() { $.ajax({ url: JSON_URL, // JSON_URL is a global variable dataType: 'json', error: function(xhr_data) { // terminate the script }, success: function(xhr_data) { if (xhr_data.status == 'pending') { // continue polling } else { success(xhr_data); […]

在Django Javascript中使用干url

我在Appengine上使用Django。 我在任何地方都使用django reverse()函数,尽可能保持一切为干。 但是,我有麻烦应用到我的客户端JavaScript。 有一个JS类,根据传入的ID加载一些数据。 有没有一个标准的方式来不硬编码这个数据应该从哪里来的URL? var rq = new Request.HTML({ 'update':this.element, }).get('/template/'+template_id+'/preview'); //The part that bothers me.

快速连接nodeJS / JavaScript中的string的方法

我明白,做一些像 var a = "hello"; a += " world"; 这是相当慢的,因为浏览器在O(n) 。 没有安装新的库,有没有更快的方法?

评论foreach绑定与foreach绑定在knockoutjs

在我的HTML中,我可以定义这些淘汰赛的foreach绑定: <!– ko foreach: customer –> <div data-bind="text: id" /> <!– /ko –> VS <div data-bind="foreach: customer"> <div data-bind="text: id" /> </div> 这两种方法的区别在哪里?

handlebar.js和handlebar.runtime.js有什么区别?

我发现handlebar.runtime.js没有compile方法。 所以我没有下载正确的版本来使用模板引擎。 但是, handlebar.runtime.js是什么? Download: runtime-1.0.0在下载页面上会更不明显

jQuery中的单引号或双引号

可能重复: 何时在JavaScript中使用双引号或单引号 这是专门为jQuery而不是一般的JavaScript,因为我不是一个JavaScript程序员,我开始学习jQuery。 随着jQuery 1.6的发布,使用单引号还是双引号会有什么特别的变化? 例如,下面的函数可以在jQuery 1.6中工作吗? $('.selector').show(); 或者我必须使用双引号? $(".selector").show(); 预先感谢您的澄清。

我应该使用原型还是不?

我正在创build一个Vector类,它基本上可以保存三个数值。 然而,可以对这样一个向量进行很多操作 – 例如获取数量级,增加或减less另一个向量等。 我想知道这些函数是否应该被编码为Vector类的原型函数,或者我应该在构造函数中定义它们。 那么这两种方法哪一种更可取? function Vector3D(x, y, z) { this.x = x; this.y = y this.z = z; } Vector3D.prototype.magnitude = function() { return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); }; 要么 function Vector3D(x, y, z) { this.x = x; this.y = y; this.z = z; this.magnitude = […]