この記事では主にjsの組み込みオブジェクトの解析を紹介していますので、必要な方は参考にしてください
1. プリミティブデータ型
Undefined、Null、Boolean、Number、String是js中五种原始数据类型(primitive type)。
引用类型通常叫作类(class),凡是以new创建出来的对象都是引用数据类型。包括new Boolean、new Number等原始类。
原始值是存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。 引用值时存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。 为变量赋值时,ECMAScript的解释程序必须判断该值是原始类型的还是引用类型的,从而把它们放到内存区域。
var a = 100; // 栈内存 var b = new Number(100); // 堆内存 console.log(a); // 数值 console.log(b); // 对象引用 console.log(b.valueOf()); // 获取数字对象b的值
2. ローカルオブジェクト (組み込みオブジェクト)
ECMA-262把本地对象(native object)定义为“独立于宿主换将的ECMAScript实现提供的对象”。本地对象就是ECMA-262定义的类(引用类型)。包括: - Object Funciton - Array String Boolean Number Date RegExp - Error EvalError RangeError ReferenceError SyntaxError TypeError URIError
var arr = [element0, element2, ...]; new Array(); new Array(size); new Array(element0, element1, ...);
var arr = [100, 200, [100, 200], true, undefined, function() { console.log("wtf."); }, {name: "孙悟空", age: 18}];
constructor 返回对创建此对象的数组函数的引用。 length 设置或返回数组中元素的数目。 prototype 可以向对象添加属性和方法。
http://www.w3school.com.cn/jsref/jsref_obj_array.asppush() 向数组的末尾添加一个或更多元素,并返回新的长度。 unshift() 向数组的开头添加一个或更多元素,并返回新的长度。 pop() 删除并返回数组的最后一个元素。 shift() 删除并返回数组的第一个元素。 splice() 删除元素,并向数组添加新元素。 slice() 从某个已有的数组返回选定的元素。 sort() 对数组的元素进行排序。 reverse() 颠倒数组中元素的顺序。 concat() 连接两个或更多的数组,并返回结果。 join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 toSource() 返回该对象的源代码。 toString() 把数组转换为字符串,并返回结果。 toLocaleString() 把数组转换为本地数组,并返回结果。 valueOf() 返回数组对象的原始值
var arr = [1, 3, 5, 7, 9, 11]; for(var i in arr){ console.log(arr[i]); } for(var j=0; j<arr.length; j++){ console.log(arr[j]); } for(var k=arr.length-1; k>=0; k--){ console.log(arr[k]); }
function Person(name, force) { this.name = name; this.force = force; } var perArr = [ new Person("乔峰", 93), new Person("段誉", 87), new Person("虚竹", 89), new Person("扫地僧", 97), new Person("慕容博", 88), new Person("慕容复", 85), new Person("萧远山", 90), ]; var forceArr = []; for (var i in perArr){ if (perArr[i].force >= 90){ forceArr.push(perArr[i]); } } console.log(forceArr);
new String(s); String(s); // 字符串在底层是以字符数组的形式存储的,这源于js对字符串奇葩的设置:它是原始类型而不是引用类型。在其它大多数语言中,字符串都是引用类型。
constructor 对创建该对象的函数的引用 length 字符串的长度 prototype 允许您向对象添加属性和方法
http://www.w3school.com.cn/jsref/jsref_obj_string.asp concat() 连接字符串。 split() 把字符串分割为字符串数组。 slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。 indexOf() 检索字符串。 lastIndexOf() 从后向前搜索字符串。 substr() 从起始索引号提取字符串中指定数目的字符。 substring() 提取字符串中两个指定的索引号之间的字符。 charAt() 返回在指定位置的字符。 charCodeAt() 返回在指定的位置的字符的 Unicode 编码。 fromCharCode() 从字符编码创建一个字符串。 match() 找到一个或多个正则表达式的匹配。 replace() 替换与正则表达式匹配的子串。 search() 检索与正则表达式相匹配的值。 toSource() 代表对象的源代码。 toString() 返回字符串。 valueOf() 返回某个字符串对象的原始值。 localeCompare() 用本地特定的顺序来比较两个字符串。 anchor() 创建 HTML 锚。
toLocaleLowerCase() 把字符串转换为小写。 toLocaleUpperCase() 把字符串转换为大写。 toLowerCase() 把字符串转换为小写。 toUpperCase() 把字符串转换为大写。 big() 使用大号字体显示字符串。 small() 使用小字号来显示字符串。 bold() 使用粗体显示字符串。 italics() 使用斜体显示字符串。 sup() 把字符串显示为上标。 sub() 把字符串显示为下标。 strike() 使用删除线来显示字符串 link() 将字符串显示为链接。 blink() 显示闪动字符串。 fontcolor() 使用指定的颜色来显示字符串。 fontsize() 使用指定的尺寸来显示字符串。 fixed() 以打字机文本显示字符串。
new RegExp(pattern, attributes); /pattern/attributes; 参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。 参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。
global RegExp 对象是否具有标志 g。 ignoreCase RegExp 对象是否具有标志 i。 lastIndex 一个整数,标示开始下一次匹配的字符位置。 multiline RegExp 对象是否具有标志 m。 source 正则表达式的源文本。
http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp compile 编译正则表达式。 exec 检索字符串中指定的值。返回找到的值,并确定其位置。 test 检索字符串中指定的值。返回 true 或 false。
search 检索与正则表达式相匹配的值。 match 找到一个或多个正则表达式的匹配。 replace 替换与正则表达式匹配的子串。 split 把字符串分割为字符串数组。
关于match 如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。 如果 regexp 具有标志 g,则 match() 方法将执行全局检索,找到 stringObject 中的所有匹配子字符串。若没有找到任何匹配的子串,则返回 null。 match会将匹配到的结果返回到一个数组对象中,不论是一次或是多次匹配。 在全局检索模式下,match() 即不提供与子表达式匹配的文本的信息,也不声明每个匹配子串的位置。如果您需要这些全局检索的信息,可以使用 RegExp.exec()
var str = "1234Like123Array789language"; result = str.match(/[a-zA-z]+/gi); console.log(result instanceof Array); //true console.log(result); // [ 'Like', 'Array', 'language' ]
var str = "1234Like123Array789language"; var match = str.match(/[a-zA-z]+/gi); console.log(match); var reg = new RegExp("(?<word>[a-zA-z]+)", "g"); var result; var arr = []; while ((result = reg.exec(str)) !== null){ // console.log(result); // console.log(result instanceof Array); // console.log(reg.lastIndex); arr.push(result); } console.log(arr);
var myDate=new Date();
constructor 返回对创建此对象的 Date 函数的引用。 prototype 可以向对象添加属性和方法。
以上がjsの組み込みオブジェクトを解析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。