Object 对象

Object.prototype.toString

判断对象属于什么类型

1
2
3
var toString = Object.prototype.toString;
var a = toString.call(new Date()); // [object date]
var b = a.slice(8, -1); // b=date

Object.prototype.hasOwnProperty

返回一个布尔值,指示对象自身属性中是否具有指定的属性

1
2
3
4
5
6
7
var foo = {
hasOwnProperty: function() {
return false;
},
bar: "Here be dragons"
};
Object.prototype.hasOwnProperty(foo, "bar"); // true

Object.create(proto, [propertiesObject])

  • proto——新创建对象的原型对象。
  • propertiesObject——可选。如果没有指定为 undefined,则是要添加到新创建对象的可枚举属性(即其自身定义的属性,而不是其原型链上的枚举属性)对象的属性描述符以及相应的属性名称。这些属性对应 Object.defineProperties()的第二个参数
  • 返回值——一个新对象,带着指定的原型对象和属性

Object.create 和{}定义对象的区别

array 数组

array.slice(start,end)

  • slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
  • slice 方法从位置 0 开始,-1 表示最后一个字符,-2 表示倒数第二个字符

array.splice(start[, deleteCount[, item1[, item2[, …]]]])

  • start:起始位置
  • deleteCount:删除的数量
  • item1…:新增的内容,用逗号分隔
  • 返回值:被删除或修改之后的数组

String(value)

使用 String 函数将其他值生成或转换成字符串

1
2
String(thing);
new String(thing);

parseFloat(string)

解析一个字符串,并返回一个浮点数

如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN

isFinite(value)

判定一个数字是否是有限数字。isFinite 方法检测它参数的数值。如果参数是 NaN,正无穷大或者负无穷大,会返回 false,其他返回 true

charAt

1
2
stringObject.charAt(index);
// 返回index位置的字母