菜单

那多少个特出的JavaScript代码片段,javascript片段

2019年8月23日 - XML

那么些理想的JavaScript代码片段,javascript片段

美貌的JavaScript代码片段,分享给大家

1.依照给定的规范在原有的数组上,得到所急需的新数组

var a = [-1, -1, 1, 2, -2, -2, -3, -3, 3, -3];
function f(s, e) {
  var ret = [];
  for (var i in s) { // 根据原有的数组长度进行循环
    ret.push(e(s[i]));
  }
  return ret;
}
f(a, function(n) {
  return n > 0 ? n : 0
}); // 传输一个匿名函数作为逻辑判断

2.比原生type或typeof更详实的品种监测情势

function type(p) {
  /function.(\w*)\(\)/.test(p.constructor); //通过其构造函数来获取对应的类型。
  return RegExp.$1;
}

3.指标或数组的深拷贝,用于消除对象援引时值一改全改的标题。

var copyObject = function(obj) {
  var result = {};
  for (var x in obj) {
    result[x] = typeof obj === "object" ? copyObject(obj[x]) : obj[x]
    //如果拷贝的值仍然是一个对象,那么重复执行当前方法。
  }  
  return result;
}

4.因此正则表明式来获得Cookie的值

function getCookie(name) {
  if (name && RegExp("(^| )" + name + "=([^;]*)(;|$)").exec(document.cookie)) return RegExp.$2;
  // (^| ) 不匹配第一个空格。
  // ([^;]*) 只匹配除了;号之外的所有字符。
  // (;|$) 匹配以;号或$为结尾的字符。
}

5.透过移动运算来代表”parseInt”

~~3.14 = > 3;

// ~~
取整。~取当前数值的反码,~~表示再一次取反,相当于取妥贴前自个儿(表明,JS中的“位”运算会将数值自动调换为整数)

6.将数值调换为16进制的字符串(常用来表示色彩)

(~~ (Math.random() * (1 << 24))).toString(16)

// ~~ 通过位运算来取整。
// << 左移位。将1的二进制数左移二十几人。而1<<24 ==
2^24(哈弗GB方式下最多可代表的情调数量)
// toString(16) 将数值转变为16进制的字符串输出。

7.对象方法的包容性检查

if ('querySelector' in document) {}

8.NodeList || HTMLCollection || Object转换为Array或具有Array的方法

NodeList:
是指通过群集方法得到到的DOM节点列表,举例:document.getElementsByTagNmae,document.forms…等方法。
HTMLCollection:
HTML块,它与NodeList很像,可是NodeList只辅助数字索引,而HTMLCollection可以支撑名称作为目录。
NodeList与HTMLCollection都存有以下类似:
具备数组的外观,但从未数组的方法 、具备length属性、帮助索引来读取内容

function makeArray(obj) {
  var rs = [],
    len = obj.length;
  try {
    rs = [].slice.call(obj, 0);
  } catch (e) { //for IE
    for (var i = 0; j = obj[i++];) {
      rs.push(j);
    }
  }
  return rs;
}
  1. 正则相配清除两边空格

    var trim = function(v){
    var patrn = /^\s(.?)\s+$/;
    return (patrn.test(v))? RegExp.$1 : ‘
    null ‘;
    }

  2. 时刻格式化

    function dateFormat(t){ // t 是以秒为单位的值。
    var h = ~~(t/3600), // t除以3600,取整,获得的正是小时。

    m = ~~(t%3600/60),  // t求余3600,取模,得到的就是去除小时剩下的秒数(分钟 + 秒),再除以60,取整,得到的就是分钟。
    s = ~~(t%3600%60);  // t求余3600,再求余60,剩下的自然就是“秒数”。
    

    return h+’小时’+m+’分’+s+’秒’;
    }

如上正是本文的全部内容,希望对我们的求学抱有援助,也可望大家多多协助帮客之家。

http://www.bkjia.com/Javascript/1187551.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javascript/1187551.htmlTechArticle那些精彩的JavaScript代码片段,javascript片段
优异的JavaScript代码片段,分享给大家1.基于给定的尺码在本来的数组上,获得所供给的新数组…

精良的JavaScript代码片段,分享给大家

1.依据给定的法则在原有的数组上,获得所急需的新数组

var a = [-1, -1, 1, 2, -2, -2, -3, -3, 3, -3];
function f(s, e) {
  var ret = [];
  for (var i in s) { // 根据原有的数组长度进行循环
    ret.push(e(s[i]));
  }
  return ret;
}
f(a, function(n) {
  return n > 0 ? n : 0
}); // 传输一个匿名函数作为逻辑判断

2.比原生type或typeof更详尽的门类监测情势

function type(p) {
  /function.(\w*)\(\)/.test(p.constructor); //通过其构造函数来获取对应的类型。
  return RegExp.$1;
}

3.对象或数组的深拷贝,用于化解对象援引时值一改全改的主题素材。

var copyObject = function(obj) {
  var result = {};
  for (var x in obj) {
    result[x] = typeof obj === "object" ? copyObject(obj[x]) : obj[x]
    //如果拷贝的值仍然是一个对象,那么重复执行当前方法。
  }  
  return result;
}

4.因此正则表明式来赢得Cookie的值

function getCookie(name) {
  if (name && RegExp("(^| )" + name + "=([^;]*)(;|$)").exec(document.cookie)) return RegExp.$2;
  // (^| ) 不匹配第一个空格。
  // ([^;]*) 只匹配除了;号之外的所有字符。
  // (;|$) 匹配以;号或$为结尾的字符。
}

5.透过活动运算来代表”parseInt”

~~3.14 = > 3;

// ~~
取整。~取当前数值的反码,~~表示再一次取反,也正是获得当前本人(表达,JS中的“位”运算会将数值自动调换为整数)

6.将数值调换为16进制的字符串(常用于表示色彩)

(~~ (Math.random() * (1 << 24))).toString(16)

// ~~ 通过位运算来取整。
// << 左移位。将1的二进制数左移22人。而1<<24 ==
2^24(EscortGB格局下最多可代表的情调数量)
// toString(16) 将数值转变为16进制的字符串输出。

7.对象方法的兼容性检查

if ('querySelector' in document) {}

8.NodeList || HTMLCollection || Object转换为Array或具有Array的方法

NodeList:
是指通过集聚方法获得到的DOM节点列表,比方:document.getElementsByTagNmae,document.forms…等方法。
HTMLCollection:
HTML块,它与NodeList很像,然而NodeList只帮忙数字索引,而HTMLCollection可以支撑名称作为目录。
NodeList与HTMLCollection都富有以下类似:
具备数组的外观,但尚无数组的方法 、具备length属性、帮忙索引来读取内容

function makeArray(obj) {
  var rs = [],
    len = obj.length;
  try {
    rs = [].slice.call(obj, 0);
  } catch (e) { //for IE
    for (var i = 0; j = obj[i++];) {
      rs.push(j);
    }
  }
  return rs;
}
  1. 正则相称清除两侧空格
var trim = function(v){
  var patrn = /^\s*(.*?)\s+$/;
  return (patrn.test(v))? RegExp.$1 : '
  null ';
}
  1. 光阴格式化
function dateFormat(t){    // t 是以秒为单位的值。
  var h = ~~(t/3600),    // t除以3600,取整,得到的就是小时。
    m = ~~(t%3600/60),  // t求余3600,取模,得到的就是去除小时剩下的秒数(分钟 + 秒),再除以60,取整,得到的就是分钟。
    s = ~~(t%3600%60);  // t求余3600,再求余60,剩下的自然就是“秒数”。

   return h+'小时'+m+'分'+s+'秒';
}

以上便是本文的全体内容,希望对大家的就学抱有帮忙,也目的在于我们多多援助脚本之家。

您可能感兴趣的稿子:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图