首页 > 代码库 > JavaScript 小技巧汇总

JavaScript 小技巧汇总

  • 判断一个变量是否申明
  • if (typeof v === "undefined") {  // ...}

     

  • 判断一个变量是否是函数
  • function f() {}typeof f// "function"
  • 区别一个变量是数组还是对象
  • var o = {};var a = [];o instanceof Array // falsea instanceof Array // true

     

  • base64转码 (btoa 直接使用中文会出错)
  • var string = ‘Hello World!‘;btoa(string) // "SGVsbG8gV29ybGQh"atob(‘SGVsbG8gV29ybGQh‘) // "Hello World!"
    function b64Encode(str) {  return btoa(encodeURIComponent(str));}function b64Decode(str) {  return decodeURIComponent(atob(str));}b64Encode(‘你好‘) // "JUU0JUJEJUEwJUU1JUE1JUJE"b64Decode(‘JUU0JUJEJUEwJUU1JUE1JUJE‘) // "你好"

     

  • 查看对象所有属性(本身的属性,不包含继承的)
  • var o = {  key1: 1,  key2: 2};Object.keys(o);// [‘key1‘, ‘key2‘]

     

  • 判断对象是否有某个属性
  • var o = new Object();o.hasOwnProperty(‘toString‘) // false‘toString‘ in o // true
    hasOwnProperty 判断对象本身 ,而 in 会判断对象父类
  • 只想遍历对象自身属性
  • for (var key in person) {  if (person.hasOwnProperty(key)) {    console.log(key);  }}

     

JavaScript 小技巧汇总