常用的javascript小技巧

  • 字符串转换为数值

常规方法:

var var1 = parseInt("2");
var var2 = parseFloat("2");
var var3 = Number("2");
var var3 = new Number("2");

简便方法:

var var1 = +("2");
  • 将其他类型转换为boolean类型

JavaScript中,所有值都能隐式的转化为Boolean类型:

数据类型 转换为true的值 转换为false的值
Boolean true false
String 任何非空字符串 “”(空字符串)
Number 任何非零数字值(包括无穷大) 0、NaN
Object 任何对象 null
Undefined (不适用) undefined

举例:

0 == false; // true
1 == true; // true
‘‘ == false // true
null == false // true

我们也可以显示转化为Boolean类型:

var a = Boolean("Hello"); //true

更简单的方法:

var a = "Hello";
var b = !!a;
  • 创建多维数组

一般方法:

var arr = new Array(2);
arr[0] = new Array(2);
arr[1] = new Array(2);
arr[0][0] = 1;
arr[0][1] = 2;
arr[1][0] = 3;
arr[1][1] = 4;

简便方法:

var arr = {};
arr[[0, 0]] = 1;
arr[[0, 1]] = 2;
arr[[1, 0]] = 3;
arr[[1, 1]] = 4;
  • 阻止别人在iframe中加载你的页面

防止把你的网页通过iframe嵌入它自己的网页:

if(top !== window) {
   top.location.href = window.location.href;
}

这段代码应该放在每个页面的head中。

  • 将arguments参数对象转换为数组

JavaScript中,函数中的预定义变量arguments并非一个真正的数组,而是一个类似数组的对象。 它具有length属性,但是没有数组对象的slice, push, sort等函数,而这些有时我们经常在函数里用到,所以我们需要把参数转换为真正的数组:

function func() {
    var arr = Array.prototype.slice.call(arguments, 0);
    return arr;
}
  • 遍历得到的正则结果

常规方法:

var str = "132ada5d6g3j";
var match = str.match(/\d/g, str);
var arr = [];
var j;
for(var i = 0, j = match.length; i < j; i++) {
    arr.push(match[i]);
}
console.log(arr);

快捷方法:

var str = "132ada5d6g3j";
var arr = [];
str.replace(/\d/g, function() {
    arr.push(arguments[0]);
});
console.log(arr);

另一快捷方法:

var str = "132ada5d6g3j";
var arr = str.replace(/\D/g,‘ ‘).split(‘ ‘);
console.log(arr);
  • 获取数字数组中的最大值

常规方法:

var arr = [1, 5, 4, 12355, 43, 123, 123, 3, 4454, 43];
var max = arr[0];
for(var i in arr) {
    if(arr[i] > max) {
        max = arr[i];
    }
}
/*
 循环也可能是:
for(var i = 0 ,j = arr.length; i < j; i++) {
    if(arr[i] > max) {
        max = arr[i];
    }
}

*/
console.log(max);

简便方法:

var arr = [1, 5, 4, 12355, 43, 123, 123, 3, 4454, 43];
var max = Math.max.apply(null, arr);
console.log(max);
  • 数字取整

常规方法:

var num = 5.63;
console.log(Math.floor(num));

其他方法1(只可用于不小于0的数):

var num = 5.63;
console.log(num>>>0);

其他方法2(正负数都可用,推荐):

var num = 5.63;
console.log(~~num);
  • 修正类似于0.1+0.2 != 0.3的错误

在JavaScript中,数字是基于IEEE754的数值,所以会出现浮点运算误差的情况,这是使用IEEE754的通病,不是语言本身的问题:

var num = 0.1 + 0.2; // 0.30000000000000004
console.log(num == 0.3); // false

修正方法:

var num = 0.1 + 0.2; // 0.30000000000000004
console.log(num);
/*你可以通过toFixed方法指定四舍五入的小数位数:*/
console.log(num.toFixed()); // "0"
console.log(num.toFixed(1)); // "0.3"
  • 整数前补0

普通方法:

 /*注意,这里的n表示数字num补0后的位数*/
function addZero(num, n) {
  var len = num.toString().length;
  while(len < n){
    num = "0" + num;
    len++;
  }
  return num;
}
console.log(addZero(5,8)); //00000005

简单方法:

function addZero(num, n) {
   y=‘00000000000000000000000000000‘+num;
 /*
这里0的数目可调整
*/
   return y.substr(y.length-n);
}
console.log(addZero(5,8)); //00000005

——————————————————————-

字符串连接的性能问题应该很经典了,就不详细介绍了。

文章来源:http://i.cnblogs.com/EditPosts.aspx?opt=1

常用的javascript小技巧

时间: 2024-10-23 03:12:37

常用的javascript小技巧的相关文章

【前端】javascript中10常用的个小技巧总结

javascript中10常用的个小技巧总结 本文转自:http://www.cnblogs.com/libin-1/p/6756393.html 1. new Set() 可能有人知道ES6中提供了新的数据结构 Set,但是能够灵活运用的人或许不多.利用Set数据结构我们能够轻松的去重一个数组,比如: let arr = [1, 2, 2, 3]; let set = new Set(arr); let newArr = Array.from(set); // Array.from方法可以将

JavaScript小技巧

1.变量转换 看起来很简单,但据我所看到的,使用构造函数,像Array()或者Number()来进行变量转换是常用的做法.始终使用原始数据类型(有时也称为字面量)来转换变量,这种没有任何额外的影响的做法反而效率更高. 1 2 3 4 5 6 7 var myVar   = "3.14159", str     = ""+ myVar,//  to string int     = ~~myVar,  //  to integer float   = 1*myVar,

javascript小技巧之with()方法

With()方法平时用得不多,本文用个小例子来学习一下.在这里记录.个人感觉还是很方便的. 有了 With 语句,在存取对象属性和方法时就不用重复指定参考对象,在 With 语句块中,凡是 JavaScript 不识别的属性和方法都和该语句块指定的对象有关.With 语句的语法格式如下所示:With Object {Statements}对象指明了当语句组中对象缺省时的参考对象,这里我们用较为熟悉的 Document 对象对 With 语句举例.例如 当使用与 Document 对象有关的 wr

12个非常实用的JavaScript小技巧

在这篇文章中将给大家分享12个有关于JavaScript的小技巧.这些小技巧可能在你的实际工作中或许能帮助你解决一些问题. 使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用!!variable做检测,只要变量的值为:0.null." ".undefined或者NaN都将返回的是false,反之返回的是true.比如下面的示例: func

前端知识:12个非常实用的JavaScript小技巧

在这篇文章中将给大家分享12个有关于JavaScript的小技巧.这些小技巧可能在你的实际工作中或许能帮助你解决一些问题. 使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用!!variable做检测,只要变量的值为:0.null." ".undefined或者NaN都将返回的是false,反之返回的是true.比如下面的示例: func

javascript小技巧-js小技巧收集(转)

本文转载自:http://blog.csdn.net/ocean20/article/details/2498699 每一项都是js中的小技巧,但十分的实用! 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得

5分钟掌握JavaScript小技巧

1. 删除数组尾部元素 一个简单的用来清空或则删除数组尾部元素的简单方法就是改变数组的length属性值. const arr = [11, 22, 33, 44, 55, 66]; // truncanting arr.length = 3; console.log(arr); //= [11, 22, 33] // clearing arr.length = 0; console.log(arr); //= [] console.log(arr[2]); //= undefined 2.使用

常用 JavaScript 小技巧及原理详解

善于利用JS中的小知识的利用,可以很简洁的编写代码 1. 使用!!模拟Boolean()函数 原理:逻辑非操作一个数据对象时,会先将数据对象转换为布尔值,然后取反,两个!!重复取反,就实现了转换为布尔值的效果. 2. 使用一元加(+)模拟Number()函数 原理:对非数值类型的数据使用一元加(+),会起到与Number()函数相同的效果. null转换为0 undefined转换为NaN false转换为0,true转换为1 对于字符串: 空字串转换为0 含有数字或者浮点数或者十六进制格式的数

10个JavaScript小技巧

1.变量转换 看起来很简单,但据我所看到的,使用构造函数,像Array()或者Number()来进行变量转换是常用的做法.始终使用原始数据类型(有时也称为字面量)来转换变量,这种没有任何额外的影响的做法反而效率更高. 1 var myVar = "3.14159", 2 3 str = ""+ myVar,// to string 4 5 int = ~~myVar, // to integer 6 7 float = 1*myVar, // to float 8