简洁的几种javascript写法
来源:互联网 发布:冬天男帽子 知乎 编辑:程序博客网 时间:2024/05/17 22:28
1.关于对象的简洁写法。如果你想创建一个对象时,你需要这样写:
var car = new Object();
car.colour = 'red';
car.wheels = 4;
car.hubcaps = 'spinning';
car.age = 4;
下面的写法同样可以达到效果:
var car = {
colour:'red',
wheels:4,
hubcaps:'spinning',
age:4
}
这样的写法简洁多了,也许可能会遇到InvalidUserInSession的问题,这个问题只有在使用IE浏览器的情况下遇到,只要记住在大括号的右侧前面不加,就不会有麻烦。
2.关于数组的简洁写法:
传统的数组定义方法是这样的:
var moviesThatNeedBetterWriters = new Array( 'Transformers','Transformers2','Avatar','IndianaJones 4' );
简洁的写法是这样的:
var moviesThatNeedBetterWriters = [ 'Transformers','Transformers2','Avatar','IndianaJones 4'];
3.关于javascript中的内置函数Math.max()
Math.max(12,123,3,2,433,4); // returns 433
这个函数能够校验数字,并且能够返回最大的数字。
4.匿名函数模块化。
在javascript中最令人懊恼的是变量没有作用范围,任何变量、函数、数组、对象只要不是在函数内部,都被认为是全局的。也就是说这个页面上其他的脚本可以访问它,修改或覆盖它。
例如:
var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
定义了三个全局变量和两个全局函数。一旦在这个页面上,如果有其他变量名定义为name或age、status,这样会造成变量引用混乱。
如果这样做,就可以避免了一些问题:将函数和变量都封装在另一个函数里面了
var myApplication = function(){
var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
}();
这样一来外面的函数就访问不到了上面内部的函数。如果可以让外部函数访问内部函数,可以这样:
var myApplication = function(){
var name = 'Chris';
var age = '34';
var status = 'single';
return{
createMember:function(){
// [...]
},
getMemberDetails:function(){
// [...]
}
}
}();
//myApplication.createMember() 和
//myApplication.getMemberDetails() 就可以使用了。
这种被称作module或singlet模式。
还可以这样做:重新定义被外界访问元素的指针
var myApplication = function(){
var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
return{
create:createMember,
get:getMemberDetails
}
}();
//现在写成 myApplication.get()和 myApplication.create() 就行了。
var car = new Object();
car.colour = 'red';
car.wheels = 4;
car.hubcaps = 'spinning';
car.age = 4;
下面的写法同样可以达到效果:
var car = {
colour:'red',
wheels:4,
hubcaps:'spinning',
age:4
}
这样的写法简洁多了,也许可能会遇到InvalidUserInSession的问题,这个问题只有在使用IE浏览器的情况下遇到,只要记住在大括号的右侧前面不加,就不会有麻烦。
2.关于数组的简洁写法:
传统的数组定义方法是这样的:
var moviesThatNeedBetterWriters = new Array( 'Transformers','Transformers2','Avatar','IndianaJones 4' );
简洁的写法是这样的:
var moviesThatNeedBetterWriters = [ 'Transformers','Transformers2','Avatar','IndianaJones 4'];
3.关于javascript中的内置函数Math.max()
Math.max(12,123,3,2,433,4); // returns 433
这个函数能够校验数字,并且能够返回最大的数字。
4.匿名函数模块化。
在javascript中最令人懊恼的是变量没有作用范围,任何变量、函数、数组、对象只要不是在函数内部,都被认为是全局的。也就是说这个页面上其他的脚本可以访问它,修改或覆盖它。
例如:
var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
定义了三个全局变量和两个全局函数。一旦在这个页面上,如果有其他变量名定义为name或age、status,这样会造成变量引用混乱。
如果这样做,就可以避免了一些问题:将函数和变量都封装在另一个函数里面了
var myApplication = function(){
var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
}();
这样一来外面的函数就访问不到了上面内部的函数。如果可以让外部函数访问内部函数,可以这样:
var myApplication = function(){
var name = 'Chris';
var age = '34';
var status = 'single';
return{
createMember:function(){
// [...]
},
getMemberDetails:function(){
// [...]
}
}
}();
//myApplication.createMember() 和
//myApplication.getMemberDetails() 就可以使用了。
这种被称作module或singlet模式。
还可以这样做:重新定义被外界访问元素的指针
var myApplication = function(){
var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
}
return{
create:createMember,
get:getMemberDetails
}
}();
//现在写成 myApplication.get()和 myApplication.create() 就行了。
0 0
- 简洁的几种javascript写法
- javascript 的几种写法
- javascript的几种写法
- 几种javascript的改进写法
- javascript数组的几种写法 []
- JavaScript类的几种写法
- JavaScript函数的常见几种写法
- Javascript数组中迭代的几种写法
- JavaScript函数的几种写法
- Javascript 函数的几种写法
- JavaScript函数的几种写法
- javascript插件的几种写法
- sql的简洁写法
- ViewHolder的 简洁写法
- ViewHolder的简洁写法
- ViewHolder的简洁写法
- ViewHolder的简洁写法
- 简洁的写法
- C++ 虚继承 多重继承
- DBI(i80)/DPI(RGB)/DSI
- 约瑟夫环问题 Java
- DB2的常用命令
- 你行你上啊——新炬拓展全民皆大厨篇
- 简洁的几种javascript写法
- 每只小狗都有一个目标---毕淑敏
- Android的linux内核和文件系统的交叉编译器一定要一样吗?
- Ext.DomHelper.append简介
- SVN 管理Android项目中eclipse的设置和注意事项
- Android相关权限的概念
- bat之获取批处理文件所在路径
- Node.js介绍
- java 关于 timeZone 的几个有用方法