javascript简写(JavaScriptshorthand)是每一个javascript开发者必须掌握的技术,最少的代码获得最大的性能!
1、三元操作符
当想写if…else语句时,使用三元操作符来代替。
constx = 20;letanswer;if(x > 10) {
简写:
constanswer = x > 10? ‘is greater’: ‘is lesser’;
也可以嵌套if语句:
constbig = x > 10? ” greater 10″: x
2.短路求值简写方式
当给一个变量分配另一个值时,想确定源始值不是null,undefined或空值。可以写撰写一个多重条件的if语句。
或者可以使用短路求值方法:
constvariable2 = variable1 || ‘new’;
3.声明变量简写方法
letx;lety;letz = 3;
简写方法:
letx, y, z=3;
4.if存在条件简写方法
if(likeJavaScript === true)
简写:
if(likeJavaScript)
只有likeJavaScript是真值时,二者语句才相等
如果判断值不是真值,则可以这样:
leta;if( a !== true) {// do something…}
简写:
leta;if( !a ) {// do something…}
5.JavaScript循环简写方法
for(leti = 0; i < allImgs.length; i++)
简写:
for(letindex inallImgs)
也可以使用Array.forEach:
6.短路评价
给一个变量分配的值是通过判断其值是否为null或undefined,则可以:
letdbHost;if(process.env.DB_HOST) {
简写:
constdbHost = process.env.DB_HOST || ‘’;
7.十进制指数
当需要写数字带有很多零时(如10000000),可以采用指数(1e7)来代替这个数字:
for(leti = 0; i < 10000; i++) {}
简写:
8.对象属性简写
如果属性名与key名相同,则可以采用ES6的方法:
constobj = { x:x, y:y };
简写:
constobj = { x, y };
9.箭头函数简写
传统函数编写方法很容易让人理解和编写,但是当嵌套在另一个函数中,则这些优势就荡然无存。
functionsayHello(name) { console.log(‘Hello’, name);
简写:
sayHello = name => console.log(‘Hello’, name);
10.隐式返回值简写
经常使用return语句来返回函数最终结果,一个单独语句的箭头函数能隐式返回其值(函数必须省略
{}为了省略return关键字)为返回多行语句(例如对象字面表达式),则需要使用()包围函数体。
简写:
当创建新的变量,有时你需要检查引用变量的值是否为null或undefined。
实例:
if (variable1 !== null || variable1 !== undefined || variable1 !== ”) {
var variable2 = variable1;
}
简写:
var variable2 = variable1 || ”;
实例:
var a = new Array();
var b = new Object();
var c = new String(“myString”);
简写:
var a = [];
var b = {};
var c = “myString”;
对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了。
实例:
var a = new Array();
a[0] = “myString1”;
a[1] = “myString2”;
a[2] = “myString3”;
简写:
var a = [“myString1”, “myString2”, “myString3”];
关联数组类似于对象,是由无序的键 和值 组成的。关联数组使用键而不是数字索引来组织存储的值。每个键都是一个唯一的字符串,与一个值相关联并用于访问该值。值可以是数字、数组、对象等数据类型。在创建代码以查找与一个键相关联的值时,您就是在创建索引或执行查找。这可能是关联数组最常见的用途。
实例:
var skillSet = new Array();
skillSet[‘Document language’] = ‘HTML5’;
skillSet[‘Styling language’] = ‘CSS3’;
skillSet[‘Javascript library’] = ‘jQuery’;
skillSet[‘Other’] = ‘Usability and accessibility’;
简写:
var skillSet = {
‘Document language’ : ‘HTML5’,
‘Styling language’ : ‘CSS3’,
‘Javascript library’ : ‘jQuery’,
‘Other’ : ‘Usability and accessibility’
};
不要忘记最后一组结尾是没有逗号的,不然IE浏览器会报错.
赋值运算符用于赋值到JavaScript变量,毫无疑问,你每天不假思索地使用算术(不管你用什么编程语言的Java,PHP,C++它本质上是相同的)。
实例:·
x=x+1;
minusCount = minusCount – 1;
y=y*10;
简写:
x++;
minusCount –;
y*=10;
其它运算符,定义 x=10 y=5:
x += y //result x=15
x -= y //result x=5
x *= y //result x=50
x /= y //result x=2
x %= y //result x=0
RegExp 对象用于规定在文本中检索的内容
/test/(“is test in here”)
老外建议用正则来检索内容,似乎是从javascript性能上来考虑的,我不得而知了。
实例:
searchText = “padding 1234 rocket str austin TX 78704 more padding”
/\d+.+\n{0,2}.+\s+[A-Z]{2}\s+\d{5}/m(searchText)
//returns: [“1234 rocket str austin TX 78704”]
简写:
var re = new RegExp(/\d+.+\n{0,2}.+\s+[A-Z]{2}\s+\d{5}/m);
re.exec(searchText);
//returns: [“1234 rocket str austin TX 78704”]
这可能是微不足道的,但值得一提。在做”If判断”的时候赋值运算符有时可以省略。
实例:
if (likeJavaScript == true)
简写:
if (likeJavaScript)
下面是另一个例子。如果a不等于true,然后…
实例:
var a;
if ( a != true ) {
// do something…
}
简写:
//code from http:///javascript-simple-code.html
var a;
if ( !a ) {
// do something…
}
实例:
var big;
if (x > 10) {
big = 1;
}
else {
big = 2;
}
简写:
var big = (x > 10) ? 1 : 2;
实例:
var a, b;
if ( !a ) {
a = b;
}
简写:
var a, b;
a = a || b;
如果你想写
if>
{
alert(‘false’);
}
不妨考虑写成:
false || alert(‘false’);
false || alert(‘false’); true || alert(‘true’); //output false;
用”||”的情况下,第一个条件true,不检测第二个直接返回true.第一个条件false,会执行第二个条件检测
false && alert(‘false’); true && alert(‘true’); //output true
用”&&”的情况下,第一个条件true,还会检测第二个条件。第一个条件false,直接返回false退出。
实例:
for (var i = 0; i < allImgs.length; i++)
简写:
for(var i in allImgs)
常见的写法:
function myFunction( myString, myNumber, myObject, myArray, myBoolean ) {
// do something…
}
myFunction( “String”, 1, [], {}, true )
看看高手们的写法:
function myFunction() {
alert( arguments.length ); // Returns 5
for ( i = 0; i < arguments.length; i++ ) {
alert( typeof arguments[i] ); // Returns string, number, object, object, boolean
}
}
myFunction( “String”, 1, [], {}, true );
虽然看上去代码变的更臃肿了,但是动态变量参数更方便维护。
示例:
function>
this.myMethod = function() {}
}
var myObject = new myFunction();
简写:
var myObject = {
myMethod: function() {}
};
代码签名证书是保护开发者的劳动成果,给自己开发的软件签名的证书,保证代码在签名之后不被恶意篡改。用户可通过对代码的数字签名来标识软件来源,辨别软件开发者的真实身份。GDCA的代码签名证书支持多种代码签名,已通过WEBTRUST国际认证。
猜你喜欢