Tag: JavaScript

隐藏JSON.stringify()的输出中的某些值

是否有可能排除某些字段被包含在jsonstring中? 这里是一些伪代码 var x = { x:0, y:0, divID:"xyz", privateProperty1: 'foo', privateProperty2: 'bar' } 我想排除privateProperty1和privateproperty2出现在jsonstring中 所以我想,我可以使用stringify替代function function replacer(key,value) { if (key=="privateProperty1") then retun "none"; else if (key=="privateProperty2") then retun "none"; else return value; } 并在stringify var jsonString = json.stringify(x,replacer); 但是在jsonString中,我仍然认为它是 {…privateProperty1:value…, privateProperty2:value } 我想在没有privateproperties的string中。

包括来自raw.github.com的js

我有一个连接到https://raw.github.com/…/master/…/file.js的github.com演示页面,以便我不需要总是将.js文件复制到每当它改变时,都会转到gh-pages分支。 这工作在除了IE的每个浏览器,它抱怨: SEC7112:来自https://raw.github.com/cwolves/jQuery-iMask/master/dist/jquery-imask-min.js的脚本由于MIMEtypes不匹配而被阻止 这个抱怨来源于文件被传送的事实: X-Content-Type-Options: nosniff Content-Type: text/plain 我无法改变。 任何人有任何想法如何做到这一点? 不知何故,我可以链接到master分支的文件,而不必总是推到gh-pages分支? 实际页面: http : //cwolves.github.com/jQuery-iMask/ (次要更新 – 我改变了这个确切的实例gh页面,包括.js文件,所以IE不再破碎,但仍然会喜欢任何反馈:))

window.location与只是位置

在整个networking中,我看到大量的JavaScript程序员编写window.location而不是location 。 我很好奇,如果有人能够提供一个解释,为什么。 window是全局对象,因此没有必要包含 – 不是吗? 我的意思是,你没有看到人写new window.Date()或new window.Date() ,所以我很好奇,为什么它将与location指定。 我明白, location被认为是你所在的窗户的“财产”,我认为这是有道理的。 但即便如此,我也没有看到任何理由来指定全局对象。 首先不可能覆盖location ,而不是不redirect页面。 那么,这只是一个已经被使用了很长时间的怪癖,它已经和我们写JavaScript的方法结合起来了,还是有一些这样做的有形的理由? 我检查了谷歌,但唉,我什么都没有想出来…

为什么在javascript匿名函数的末尾写上“.call(this)”?

我已经看到了这样写的JavaScript(这是一个演示,我没有实际的代码,但它暗示这是正常的): (function() { var a = 1; this.sayA = function() { alert(a); } }).call(this); sayA(); 我想这是写一个匿名函数,以便variablesa不是全局可用的。 .call(this)是什么? 由于这个函数没有嵌套, this只是窗口。 它与最后只写()什么不同?

Angularjs:当ng-model更新时select不更新

我已经创build了下面的例子,所以你可以看到到底发生了什么: http : //jsfiddle.net/8t2Ln/101/ 同样的事情发生,如果我使用ng选项。 我有这样做的另外一个原因,但是为了简化这个例子,我把这一部分留下了。 正如你可以看到它默认有两个选项。 我在select旁边显示ng模型的选定值,以便看到它是什么。 当您使用顶部部分添加第三个选项时,它会将该值设置为该新选项的值,如select所示的显示的ng-model值所示,但select本身不会更改以显示正确的值select。 以下是链接中的示例代码: var testApp = angular.module('testApp', ['ngRoute']); testApp.controller('Ctrl', function ($scope) { $scope.newInput = ''; $scope.inputDevice = [ { value: '1', label: 'input1' }, { value: '2', label: 'input2' } ]; $scope.selectedDevice = ''; $scope.addType = function () { var newElem = { label: $scope.newInput, value: '3' }; […]

在jquery文件内部或外部准备好函数

到目前为止,我只是把我所有的jQuery善良放在$(document).ready()函数中,包括在某些用户交互中使用的简单函数。 但是不需要加载DOM文档的函数,也可以放在$(document).ready() 。 考虑一个非常简单的validation函数,例如: function hexvalidate(color) { // Validates 3-digit or 6-digit hex color codes var reg = /^(#)?([0-9a-fA-F]{3})([0-9a-fA-F]{3})?$/; return reg.test(color); } 该函数仅在$(document).ready()函数中调用。 什么是最佳实践(语法,速度); 把这样的function放在 jQuery文档准备好的function之内还是之外 ?

如何禁用在AngularJSinput的修剪?

我发现了一些奇怪的行为:angular度修剪模型默认值。 快速search并不能帮助我解决这个问题。 我发现ng-no-trim指令提议, ng-trim等等。 但没有任何工作。 我提供了一个代表下面这个问题的小片段。 function Ctrl($scope) { $scope.text=''; $scope.$watch('text', function (newValue) { console.log(newValue); }); } 你也可以在这里试试这个片段。 我添加了一个与模型text同步的textarea。 但是,当添加新的尾部空格或将行分隔到新的空格时,它不会反应。 我能做些什么来closures这种行为? 谢谢。

查找父纯JavaScript的子元素

什么是最有效的方法是使用纯JavaScript来查找(具有类或ID)特定父元素的子元素。 没有jQuery或其他框架。 在这种情况下,我需要findparent1的child1或child2 ,假定DOM树可以在树中有多个child1或child2类元素。 我只想要父母的元素 <div class="parent"> <div class="child1"> <div class="child2"> </div> </div> </div>

animationcanvas看起来像电视噪音

我有一个名为generateNoise()的函数,它创build一个canvas元素,并绘制随机的RGBA值; 这给出了噪音的外观。 我的问题 什么是最好的方式无限制地animation的噪音给运动的外观。 这样可能会有更多的生命? 的jsfiddle function generateNoise(opacity) { if(!!!document.createElement('canvas').getContext) { return false; } var canvas = document.createElement('canvas'), ctx = canvas.getContext('2d'), x,y, r,g,b, opacity = opacity || .2; canvas.width = 55; canvas.height = 55; for (x = 0; x < canvas.width; x++){ for (y = 0; y < canvas.height; y++){ r = Math.floor(Math.random() * 255); […]

什么是JavaScript中的数组文字符号,什么时候应该使用它?

JSLint给我这个错误: 第11行的问题33:使用数组文字符号[]。 var myArray = new Array(); 什么是数组文字符号,为什么它要我使用它呢? 它在这里显示new Array(); 应该可以正常工作…有什么我失踪?