# 数据类型

# String

判断字符串所占字节数

# Object 引用类型

判断属于 Object 里的哪种

Object.prototype.toString.call(obj) // '[object String]'
  • jQuery 方法
console.log(
	$.type(num),
	$.type(str),
	$.type(bool),
	$.type(arr),
	$.type(json),
	$.type(func),
	$.type(und),
	$.type(nul),
	$.type(date),
	$.type(reg),
	$.type(error)
);

# Math 对象

  1. 取整方法
  • Math.ceil() 向上取整
  • Math.floor() 向下取整
  • Math.round() 四舍五入

# 基本类型和引用类型的比较

var a = "Andrew",
    b = a;

b = "Robbins";

a === b; // false
  • 我们说的通过引用进行对象比较是:两个对象的值是否相同取决于它们是否指向相同的底层对象。
var a = {name: "andrew"},
    b = a;

b.name = "robbins";

a === b; // true

# 包装对象

当你尝试调用基本类型的方法,JavaScript在幕后做了一个巧妙的处理,将你的基本类型的值转换成临时对象用于构造函数,决定使用哪个构造函数取决于你尝试改变的基本类型的值,在String中调用.length会使用string()构造函数临时将基本类型转变成对象—允许你使用length方法而改变它,这个临时对象被称为包装对象。

我们也需要了解基本类型的属性是只读和临时的。

# Array

  • NodeList 转换为数组
var elArray = [].slice.call(document.querySelectorAll(selector), 0);

// Now use the element array to fetch a list of ids:
var ids = elArray.map(function(el) { return el.getAttribute('id'); });
  • 删除数组中某元素
array.remove(index)
  • 排序(不严谨的中文排序)
a.localeCompare(b);

# JSON

  • JSON.parse 用法
JSON.parse('{"p": 5}', (key, value) =>
  typeof value === 'number'
    ? value * 2 // return value * 2 for numbers
    : value     // return everything else unchanged
);

// { p: 10 }

JSON.parse('{"1": 1, "2": 2, "3": {"4": 4, "5": {"6": 6}}}', (key, value) => {
  console.log(key); // log the current property name, the last is "".
  return value;     // return the unchanged property value.
});

// 1
// 2
// 4
// 6
// 5
// 3
// ""
Last Updated: 5/14/2022, 11:38:45 AM