Javascript一些语法总结
2016-09-08 13:53
281 查看
!!用法
var y = undefined; console.log(!y);//true var x = false; var a = 0; var b = null var text = !!x;//false console.log(test);//false console.log(!!a);//false console.log(!!b);//false
由于!对于undefined以及0 以及null返回值都是true。但对于!!操作符,就拿上面的例子来说,如果x明确指出了true还是false,那么!!x将返回和x一样的值。否则返回false。
另外,如果x是有内容的,比如x=3,x=[2,1]等。那么!!将返回true。
总结一下:
x | 结果 |
---|---|
布尔值 | 返回x |
非undefined、null、0 | 返回true |
undefined null 0 | 返回false |
with用法
一般的我们Object.property访问类的属性。function abcObj(){ this.name = "张三"; this.gender = "男"; } var people = new abcObj();//创建一个对象
比如上例中我们通过people.name即可访问属性,但是同时修改很多属性的时候会写起来很烦。因此有with方法
with(people){ alert(name);//张三 name="李四";//修改属性 var name = "123";//特别注意即便用var进行重新赋值也会修改people的name属性 }
但是要注意的是,在with中不能给对象添加属性值。
联系到哦Javascript高级程序设计(第三版)75页的内容,with可以延长作用域链。
书中代码如下
function buildUrl(){ var qs = "?debug=true"; with(location){ var url = href + qs; } return url; }
正常来讲,url是在一个代码块中被定义的,return应该无法返回,然而实验结果是可以返回的。原因在于:刚才我们提到了with实际上是引入了一个对象的新的作用域。然而这个作用域中是不能添加新的属性的,因此var实际是定义在更上一层中,因此可以访问到正确的结果。
关于作用域问题。javascript高级程序设计一书中指出。没有块级作用于。有的只是函数级作用域。例如if和for都没有自己的作用域。
if(true){ var color = "blue"; } alert(color);//blue
for(var i = 0 ; i < 10 ; i++){ doSomething(i); } console.log(i);//10
for语句创建的i变量仍然存在于外部环境中!这一点要牢记。
声明变量与作用域
一般我们用var声明变量。会自动把变量添加到最近的环境中。在函数内部,最接近的环境就是函数的局部环境。如果没有用var声明变量,变量将被添加到全局变量我们不建议不声明变量就是用的方法,会导致意外的错误。另外,访问局部变量明显比访问全局变量要快,因此我们建议少使用全局变量。如果要在局部环境中不使用局部变量而使用全局变量,方法是调用window.变量名。
相关文章推荐
- 学习Python中,总结一些语法相关注意点
- 总结两个Javascript的哈稀对象的一些编程技巧
- Javascript一些概念研究总结
- 一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
- 一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
- 总结一些javascript代码,希望大家用得上,大家如果有更多,不妨也贴上来!愿我们做得更好!
- 一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
- 向高级Javascript程序员阵营迈进:Javascript一些概念研究总结
- 一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
- 一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
- 总结两个Javascript的哈稀对象的一些编程技巧
- 总结两个Javascript的哈稀对象的一些编程技巧
- 总结两个Javascript的哈稀对象的一些编程技巧
- 向高级Javascript程序员阵营迈进:Javascript一些概念研究总结
- 初学Javascript的一些总结
- JavaScript语法总结 - Notes
- javascript创建页面蒙板的一些知识技巧总结第1/3页
- 总结两个Javascript的哈稀对象的一些编程技巧
- Javascript一些方法和属性总结
- 一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子