在对象到数字的转换过程中,它会首先尝试valueof()方法:
如果对象有一个valueof()方法,该方法返回一个原始值,javascript将原始值转换为一个数字(如果需要)并返回该数字。
否则,如果对象有一个返回原始值的tostring()方法,javascript将转换它并返回它。
否则,javascript抛出一个类型错误异常。
转换为数字的细节解释了为什么空数组被转换为数字0,以及为什么只有一个元素的数组也被转换为数字。数组继承默认值of()方法,该方法返回一个对象。
而不是原始值,所以从数组到数字的转换调用tostring()方法。空数组被转换为空字符,空字符串被转换为数字0。
从上面《javascript权威指南》的解释可以看出,由于obj3重写了objecttostring的方法,返回的是数组(object)而不是原值,所以在与2或字符串比较时会给出错误。
object对象的属性是无序的,所以没有首末。
js中的对象是一个类似于地图字典的结构。
js中有五种数据类型。
1.数字类型($number)绿色
描述:表示数字结构的数据类型。
有三种整数、浮点数、伪科学计数。
伪科学计数法;
ta,基数不是必须的,必须在10以内;
tb和e代表10的幂,不考虑大小写。
例如:11e511*10^5
2.字符串类型
";hello,world";
3、布尔型(boolean)
true;wrong
4.undefined(undefined)
表示一个空变量,该变量在声明后尚未赋值。
5.empty(empty)
代表一个对象
6.对象(复杂数据类型)
包含arr数组类型(浅蓝色)和function函数类型;
ps:除以上五种基本数据类型外的所有类型都是对象数据类型;
javascript中的一切都是对象,比如:字符串、值、数组、函数等。每个对象都有属性和方法。
对象的属性:反映对象的一些特定属性,如字符串的长度、图像的长度和宽度等。
对象的方法:可以在对象上执行的操作。例如,"提交"的形式,与getyear"时间的等等。
javascript提供了多个内置对象,如字符串、日期、数组等。,它们是在使用前定义的。
这里有一些例子
数组对象中的常用方法:
concat():意思是将几个数组组合成一个数组。
join():返回一个字符串值,该值包含由指定分隔符分隔的连接数组的所有元素。
pop():移除数组的最后一个元素。
shift():删除数组中的第一个元素。
slice(start,end):返回数组中的一段。
push():向数组中添加一个新元素,并返回最新的长度。
sort():对数组进行排序。
reverse():反转数组的排序。
tolocalestring()返回当前系统时间。
数组对象只有一个常用的属性:
length:表示获取当前数组的长度。
globaltarget
是一个固有对象,其目的是将所有全局方法集中在一个对象中。
global没有语法,所以直接调用它的方法。
escape():对字符串对象进行编码,以便它们可以在所有计算机上被读取。
escape(string)
所需的charstring参数是任何要编码的字符串对象或文本。
isnan():确定一个值是否为nan。
parseint():返回从字符串中获得的整数。
正则表达式对象
该对象包含正则表达式模式和指示如何应用这些模式的标志。
语法1
re/pattern/[flags]
语法2
aboutnewregularexpressions(