关于JS的几点TIPS

简介: 原文:关于JS的几点TIPS作为前端基本工作每天都会用到JS...但是我们对JS真的都了解吗,或者说有什么tips是我们不知道的呢。。 So..此文关于JS的几点tips..... 一:定时器(可传多个参数) 首先是一个一般的定时器,一般我们使用就用到定时器的2个参数,一个是function函数,一个是时间。
原文: 关于JS的几点TIPS

作为前端基本工作每天都会用到JS...但是我们对JS真的都了解吗,或者说有什么tips是我们不知道的呢。。

So..此文关于JS的几点tips.....

一:定时器(可传多个参数)

首先是一个一般的定时器,一般我们使用就用到定时器的2个参数,一个是function函数,一个是时间。

setTimeout(function(){  //函数
	alert(1);
},2000)  //时间

但是其实定时器有很多个参数参数,tips:

setTimeout(function(num){  //传一个形参
	alert(num);
},2000,123) //回调参数

二:拼接字符串

在工作中经常会遇到拼接字符串的问题,比如我们给一个body元素添加内容:

window.onload=function(){
	document.body.innerHTML='<div>div</div><span>span</span></p>p</p>123';
}

当这些字符串在一行上的时候,这样添加没有问题,如果我们添加的内容过多需要这行的时候,一般是这样拼接的:

window.onload=function(){
	document.body.innerHTML=
	'<div>div</div>'+
	'<span>span</span>'+
	'</p>p</p>'+
	'123';
}

这种普遍方法妥妥的,一定问题都没。

下面是一种也许不那么常用的tips:

window.onload=function(){
	document.body.innerHTML=
	'<div>div</div>\          //在字符后天加一个反斜杠
	<span>span</span>\
	</p>p</p>\
	123';
}

一样,妥妥的,木有一点问题!

三:Console.log()  

主要用于打印,调试信息,首先,在调试台输出一个hallo

<script>
	var a = 'hallo';
	console.log(a);
</script>

OK,没有问题,其实我们不但可以输出一个字符, 还可以输出图像,样式。 我们现在给这个hallo添加样式

<script>
	var a = 'hallo';
	console.log('%c'+a,'font-size:400%;background:blue;color:red;');
</script>

挺靠谱~

四:tipeof

这个平时常用,用于检测数据类型的,一般这么用

var a = [];
alert(typeof a)  //用空格连接,弹出object

还可以这么用

var a = [];
alert(typeof(a)) //用()连接,弹出object

五:嵌套for循环

首先定义2个for循环

for(var i=0;i<5;i++){   //i循环
	for(var j=0;j<1;j++){  //j循环
		if(i==3){
			break;  //没有跳出i循环, 只是跳过了3.
		}
		alert(i);
	}
}

有时候我们需要跳出整个大的循环,so

a:for(var i=0;i<5;i++){   //给循环一个名称
	for(var j=0;j<1;j++){
		if(i==3){
			break a;  //跳出这个循环
		}
		alert(i);
	}
}

六:for循环

1.最常用

for(var i=0;i<5;i++){  //3个值
	alert(i)
}

2.也常用

var i = 0;  //外部定义i
for(;i<5;i++){ //2个值
	alert(i)
}

3.不常用

var i = 0;
for(;;){  //0个值
	alert(i)
	if(++i>=5){  //需if判断,不然死循环
		break;
	}
}

七:call

var obj = {  
	a : function(){
		alert(this)
	}
}
var arr = [1,2,3];
obj.a();  //this指向obj

如果要使this指向arr,只需call(arr)

obj.a.call(arr);

如果call()里面没有指向,自动指向window。

八:匿名函数自执行

错误写法

function(){
    alert(123);
}(); 

正确写法 加(小括号)

(function(){
    alert(123);
})();   //自动执行alert();

如果不想加小括号又想自执行,可以这样

!function(){
	alert(123);
}();

加运算符,也是不会报错,不但可以加!,还可以~,或者+ (统统都不报错了)

九:创建对象

一般

var arr = new Array();
alert(arr.length);

其实可以不用对象后面的();

var arr = new Array;
alert(arr.length);

其实都是很多很小很小很小的细节方面,写的更少,做的更多,多么愉悦的一件事哈!

最后,细节决定成败! \ 0.0 /

目录
相关文章
|
缓存 前端开发 JavaScript
简单总结了10个JavaScript代码优化小tips
相同的功能采用不同的代码实现所需要的运行时间也不会相同,这里简单总结了10个JavaScript代码优化的小技巧,可以增加这么一nainai的运行速度
123 0
|
JavaScript 前端开发 C++
|
JavaScript 前端开发
|
JavaScript 前端开发
tips: javascript 参数传递含有空格怎么办?
js 方法传参有时候会遇到空格,空格会报错,因为它会默认空格后是元素 解决方法就是使用 escape 和 unescape html: var title = escape(rowObject.title); var btnModify ='编 辑'; js: $("#title").
1458 0
|
JavaScript
Ext JS Tips
callParent() 优化 调用父类方法,如 Ext.define('App.view.MyPanel', { extend: ‘Ext.panel.Panel’, onRender: function (parentNode, index) { this.callParent(arguments); } }); 其中 this.callParent 等价于 Ext.panel.Panel.prototype.onRender.apply(this, arguments);,而且后者效率更高。
648 0
|
JavaScript 前端开发 机器人
45 Useful JavaScript Tips, Tricks and Best Practices
By Saad Mousliki As you know, JavaScript is the number one programming language in the world, the language of the web, of mobile hybrid apps (like PhoneGap or Appcelerator), of the serv
2078 0
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
97 2