1. js里==和===有什么区别
==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase。
举例说明:
"1" == true类型不同,"=="将先做类型转换,把true转换为1,即为 "1" == 1;此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1。
1.如果比较:"1" === true 左侧为字符型,右侧为bool布尔型或int数值型,左右两侧类型不同,结果为false;
2.如果比较: 1 === 1 左侧为int数值型,右侧为int数值型,左右两侧类型相同,数值大小也相同,结果为true;
3.如果比较: 1 === 2 左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false。
(1)js数组valueof扩展阅读:
JavaScript脚本语言具有以下特点:
1.脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。
2.基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。
3.简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。
4.动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。
5.跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。
参考资料:网络:js
2. 涓轰粈涔圝S涓鏁板肩被鍨嬪凡缁忓彲浠ヤ娇鐢∟umber鏂规硶锛岃繕瑕佸紩鍏Number瀵硅薄姒傚康锛
JavaScript涓锛屾暟鍊肩被鍨嬫湁涓ょ嶈〃绀烘柟寮忥細鐩存帴閲忓拰Number瀵硅薄銆傝繖涓ょ嶈〃绀烘柟寮忓湪澶у氭暟鎯呭喌涓嬫槸绛変环鐨勶紝浣嗘槸瀹冧滑鏈変竴浜涢噸瑕佺殑鍖哄埆銆
鐩存帴閲忥紙涔熺О涓哄師濮嬪硷級琛ㄧず涓涓鏁板煎父閲忥紝瀹冪洿鎺ュ啓鍦ㄤ唬鐮佷腑锛屼緥濡10鎴栬3.14銆傜洿鎺ラ噺鏄涓嶅彲鍙樼殑锛屽畠浠鏄鍘熷嬬被鍨嬬殑鍊硷紝涓嶈兘璋冪敤鏂规硶锛屽彧鑳借繘琛屽熀鏈鐨勮繍绠椼
Number瀵硅薄琛ㄧず涓涓鏁板硷紝浣嗘槸瀹冩槸涓涓瀵硅薄锛岃屼笉鏄鍘熷嬬被鍨嬬殑鍊笺侼umber瀵硅薄鍙浠ヨ皟鐢ㄦ柟娉曟潵鎵ц屾洿楂樼骇鐨勬搷浣滐紝姣斿傝浆鎹涓哄瓧绗︿覆銆佹瘮杈冨ぇ灏忕瓑銆備絾鏄锛岀敱浜嶯umber瀵硅薄鏄鍙鍙樼殑锛屾墍浠ュ畠鐨勬ц兘瑕佹瘮鐩存帴閲忓樊涓浜涖
鎵浠ワ紝閫氬父鏉ヨ达紝鎴戜滑搴旇ヤ紭鍏堜娇鐢ㄧ洿鎺ラ噺鏉ヨ〃绀烘暟鍊硷紝鍙鏈夊湪闇瑕佷娇鐢∟umber瀵硅薄鐨勬柟娉曟椂鎵嶄娇鐢∟umber瀵硅薄銆
瀵逛簬涓婇潰鐨勪緥瀛愶紝n1鍜宯2涓よ呴兘鍙浠ヨ皟鐢╰oString()鏂规硶鏉ュ皢鏁板艰浆鎹涓哄瓧绗︿覆锛屼絾鏄痭2鏄涓涓狽umber瀵硅薄锛屾墍浠ュ畠鍙浠ヨ皟鐢ㄦ洿澶氱殑鏂规硶銆備緥濡傦紝浣跨敤Number.isInteger()鏂规硶妫鏌ヤ竴涓鏁板兼槸鍚︿负鏁存暟鏃讹紝n1鏄鐩存帴閲忥紝鎵浠ュ畠鍙浠ョ洿鎺ヤ紶鍏`Number
鍙﹀栵紝鐢变簬Number.isInteger()鏂规硶鏄疦umber瀵硅薄鐨勪竴涓闈欐佹柟娉曪紝鑰屼笉鏄瀹炰緥鏂规硶锛屾墍浠ュ畠鏃犳硶鐩存帴鍦∟umber瀵硅薄瀹炰緥涓婅皟鐢ㄣ備緥濡傦紝鍦ㄤ笂闈㈢殑渚嬪瓙涓锛孨umber.isInteger(n1)杩斿洖true锛屽洜涓簄1鏄涓涓鐩存帴閲忥紝瀹冨彲浠ョ洿鎺ヤ紶鍏Number.isInteger()鏂规硶锛涜孨umber.isInteger(n2)杩斿洖false锛屽洜涓簄2鏄涓涓狽umber瀵硅薄瀹炰緥锛岃屼笉鏄鐩存帴閲忥紝瀹冧笉鑳界洿鎺ヤ紶鍏Number.isInteger()鏂规硶銆
鎬讳箣锛岀洿鎺ラ噺鍜孨umber瀵硅薄涓よ呴兘鍙浠ヨ〃绀烘暟鍊硷紝浣嗘槸瀹冧滑鏈変竴浜涢噸瑕佺殑鍖哄埆锛屽簲璇ユ牴鎹瀹為檯鎯呭喌鏉ラ夋嫨浣跨敤鍝绉嶆柟寮忋傞氬父鏉ヨ达紝鎴戜滑搴旇ヤ紭鍏堜娇鐢ㄧ洿鎺ラ噺鏉ヨ〃绀烘暟鍊硷紝鍙鏈夊湪闇瑕佷娇鐢∟umber瀵硅薄鐨勬柟娉曟椂鎵嶄娇鐢∟umber瀵硅薄銆
3. JS自带有几种方法
js的方法可是有一些,想具体了解,可以去下载一本js手册
a
abs 返回数字的绝对值
acos 返回数的反余弦值
anchor 在对象中的指定文本两端放置一个有 NAME 属性 HTML 锚点
apply 应用某一对象的一个方法,用另一个对象替换当前对象
asin 返回数字的反正弦值
atan 返回数字的反正切值
atan2 返回由 X 轴到 ( y , x ) 点的角度(以弧度为单位)
atEnd 返回一个 Boolean 值,指明枚举算子是否位于集合的末尾
b
big 把 HTML <BIG> 标记放置在 String 对象中的文本两端
blink 把 HTML <BLINK> 标记放置在 String 对象中的文本两端
bold 把 HTML <B> 标记放置在 String 对象中的文本两端
c
call 调用一个对象的一个方法,以另一个对象替换当前对象
ceil 返回大于等于其数字参数的最小整数
charAt 返回指定索引位置处的字符
charCodeAt 返回一个整数,代表指定位置上字符的 Unicode 编码
compile 把正则表达式编译为内部格式,从而执行得更快
concat 返回一个新数组,这个新数组是由两个或更多数组组合而成的
concat(String) 返回字符串值,该值包含了两个或更多个提供的字符串的连接
cos 返回数的余弦值
d
decodeURI 返回一个已编码的统一资源标识符 (URI) 的非编码形式
decodeURIComponent 返回统一资源标识符 (URI) 的一个已编码组件的非编码形式
dimensions 返回 VBArray 的维数
e
encodeURI 将文本字符串编码为一个有效的统一资源标识符 (URI)
encodeURIComponent 将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件
escape 对 String 对象编码以便它们能在所有计算机上可读
eval 检查 JScript 代码并执行
exec 用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组
exp 返回 e(自然对数的底)的幂
f
fixed 把HTML<TT>标记放置在 String 对象中的文本两端
floor 返回小于等于其数值参数的最大整数
fontcolor 把带有 COLOR 属性的一个 HTML <FONT> 标记放置在 String 对象中的文本两端
fontsize 把一个带有 SIZE 属性的 HTML <FONT> 标记放置在 String 对象中的文本的两端
fromCharCode 从一些 Unicode 字符值中返回一个字符串
g
getDate 返回 Date 对象中用本地时间表示的一个月中的日期值
getDay 返回 Date 对象中用本地时间表示的一周中的日期值
getFullYear 返回 Date 对象中用本地时间表示的年份值
getHours 返回 Date 对象中用本地时间表示的小时值
getItem 返回指定位置的项
getMilliseconds 返回 Date 对象中用本地时间表示的毫秒值
getMinutes 返回 Date 对象中用本地时间表示的分钟值
getMonth 返回 Date 对象中用本地时间表示的月份值
getSeconds 返回 Date 对象中用本地时间表示的秒钟值
getTime 返回 Date 对象中的时间值
getTimezoneOffset 返回用分钟表示的主计算机上的时间和全球标准时间 (UTC)之间的差别
getUTCDate 返回 Date 对象中用全球标准时间 (UTC)表示的日期
getUTCDay 返回 Date 对象中用全球标准时间 (UTC)表示的一周中的日期值
getUTCFullYear 返回 Date 对象中用全球标准时间 (UTC)表示的年份值
getUTCHours 返回 Date 对象中用全球标准时间 (UTC)表示的小时值
getUTCMilliseconds 返回 Date 对象中用全球标准时间 (UTC)表示的毫秒值
getUTCMinutes 返回 Date 对象中用全球标准时间 (UTC)表示的分钟值
getUTCMonth 返回 Date 对象中用全球标准时间 (UTC)表示的月份值
getUTCSeconds 返回 Date 对象中用全球标准时间 (UTC)表示的秒钟值
getVarDate 返回 Date 对象中的 VT_DATE 值
getYear 返回 Date 对象中的年份值
i
indexOf 返回 String 对象内第一次出现子字符串的字符位置
isFinite 返回一个 Boolean 值,指明所提供的数字是否是有限的
isNaN 返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)
italics 把 HTML <I> 标记放置在 String 对象中的文本两端
item 返回集合中的当前项
j
join 返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开
l
lastIndexOf 返回 String 对象中子字符串最后出现的位置
lbound 返回在 VBArray 的指定维中所使用的最小索引值
link 把一个有 HREF 属性的 HTML 锚点放置在 String 对象中的文本两端
localeCompare 返回一个值,指出在当前的区域设置中两个字符串是否相同
log 返回数字的自然对数
match 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回
max 返回给出的零个或多个数值表达式中较大者
min 返回给出的零个或多个数值表达式中较小者
moveFirst 重新将集合中的当前项设置为第一项
moveNext 将集合中的当前项移动到下一项
p
parse 解析一个包含日期的字符串,并返回该日期与 1970 年 1 月 1 日午夜之间所间隔的毫秒数
parseFloat 返回由字符串转换得到的浮点数
parseInt 返回由字符串转换得到的整数
pop 移除数组中的最后一个元素并返回该元素
push 将新元素添加到一个数组中,并返回数组的新长度值
r
random 返回介于 0 和 1 之间的伪随机数
replace 返回根据正则表达式进行文字替换后的字符串 的拷贝
reverse 返回一个元素顺序被反转的 Array 对象
round 返回与给出的数值表达式最接近的整数
s
search 返回与正则表达式查找内容匹配的第一个子字符串的位置
setDate 设置 Date 对象中用本地时间表示的数字日期
setFullYear 设置 Date 对象中用本地时间表示的年份值
setHours 设置 Date 对象中用本地时间表示的小时值
setMilliseconds 设置 Date 对象中用本地时间表示的毫秒值
setMinutes 设置 Date 对象中用 本地时间表示的分钟值
setMonth 设置 Date 对象中用 本地时间表示的月份值
setSeconds 设置 Date 对象中用 本地时间表示的秒钟值
setTime 设置 Date 对象的日期和时间值
setUTCDate 设置 Date 对象中用全球标准时间 (UTC)表示的数值日期
setUTCFullYear 设置 Date 对象中用全球标准时间 (UTC)表示的年份值
setUTCHours 设置 Date 对象中用全球标准时间 (UTC)表示的小时值
setUTCMilliseconds 设置 Date 对象中用全球标准时间 (UTC)表示的毫秒值
setUTCMinutes 设置 Date 对象中用全球标准时间 (UTC)表示的分钟值
setUTCMonth 设置 Date 对象中用 全球标准时间 (UTC)表示的月份值
setUTCSeconds 设置 Date 对象中用全球标准时间 (UTC)表示的秒值
setYear 设置 Date 对象中的年份值
shift 移除数组中的第一个元素并返回该元素
sin 返回数字的正弦值
slice (Array) 返回一个数组的一段
slice (String) 返回字符串的片段
small 将 HTML 的<SMALL> 标识添加到 String 对象中的文本两端
sort 返回一个元素已经进行了排序的 Array 对象
splice 从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素
split 将一个字符串分割为子字符串,然后将结果作为字符串数组返回
sqrt 返回数字的平方根
strike 将 HTML 的<STRIKE> 标识放置到 String 对象中的文本两端
sub 将 HTML 的 <SUB> 标识放置到 String 对象中的文本两端
substr 返回一个从指定位置开始的指定长度的子字符串
substring 返回位于 String 对象中指定位置的子字符串
sup 将 HTML 的<sup> 标识放置到 String 对象中的文本两端
t
tan 返回数字的正切值
test 返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式
toArray 返回一个由 VBArray 转换而来的标准 JScript 数组
toDateString 以字符串值的形式返回一个日期
toExponential 返回一个字符串,其中包含一个以指数记数法表示的数字
toFixed 返回一个字符串,代表一个以定点表示法表示的数字
toGMTString 返回一个日期,该日期用格林威治标准时间 (GMT) 表示并已被转换为字符串
toLocaleDateString 以字符串的形式返回与宿主环境的当前区域设置相对应的日期
toLocaleLowerCase 返回一个字符串,其中所有的字母字符都被转换为小写,同时考虑到宿主环境的当前区域设置
toLocaleString 返回一个日期,该日期使用当前区域设置并已被转换为字符串
toLocaleTimeString 以字符串的形式返回与宿主环境的当前区域设置相对应的时间
toLocaleUpperCase 返回一个字符串,其中所有的字母字符都被转换为大写,同时适应宿主环境的当前区域设置
toLowerCase 返回一个字符串,该字符串中的字母被转换为小写字母
toPrecision 返回一个字符串,其中包含一个以指数记数法或定点记数法表示的,具有指定数字位数的数字
toString 返回对象的字符串表示
toTimeString 以字符串形式返回时间
toUpperCase 返回一个字符串,该字符串中的所有字母都被转化为大写字母
toUTCString 返回一个已被转换为字符串的,用全球标准时间 (UTC)表示的日期
ubound 返回在 VBArray 的指定维中所使用的最大索引值
unescape 解码用 escape 方法进行了编码的 String 对象
unshift 将指定的元素插入数组开始位置并返回该数组
UTC 返回全球标准时间 (UTC) (或 GMT) 的 1970 年 1 月 1 日到所指定日期之间所间隔的毫秒数
valueOf 返回指定对象的原始值
4. 详解js中Number,parseInt和parseFloat的区别
一:Number()
如果是Boolean值,true和false值将分别被转换为1和0。
如果是数字值,只是简单的传入和返回。
如果是null值,返回0。
如果是undefined,返回NaN。
如果是字符串:
a. 如果字符串中只包含数字时,将其转换为十进制数值,忽略前导0
b. 如果字符串中包含有效浮点格式,如“1.1”,将其转换为对应的浮点数字,忽略前导0
c. 如果字符串中包含有效的十六进制格式,如“0xf”,将其转换为相同大小的十进制数值
d. 如果字符串为空,将其转换为0
e. 如果字符串中包含除上述格式之外的字符,则将其转换为NaN
如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,然后再依照前面的规则转换返回的字符串值。
例:
varnum1=Number("Helloworld");//NaN
varnum2=Number("");//0
varnum3=Number("0000011");//11
二:parseInt()
处理整数的时候parseInt()更常用。parseInt()函数在转换字符串时,会忽略字符串前面的空格,知道找到第一个非空格字符。
如果第一个字符不是数字或者负号,parseInt() 就会返回NaN,同样的,用parseInt() 转换空字符串也会返回NaN。
如果第一个字符是数字字符,parseInt() 会继续解析第二个字符,直到解析完所有后续字符串或者遇到了一个非数字字符。
parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。
基是由parseInt()方法的第二个参数指定的,所以要解析十六进制的值,当然,对二进制、八进制,甚至十进制(默认模式),都可以这样调用parseInt()方法。
例:
varnum1=parseInt("AF",16);//175
varnum2=parseInt("AF");//NaN
varnum3=parseInt("10",2);//2(按照二进制解析)
varnum4=parseInt("sdasdad");//NaN
三:parseFloat()
与parseInt() 函数类似,parseFloat() 也是从第一个字符(位置0)开始解析每一个字符。也是一直解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止。
也就是说,字符串中第一个小数点是有效的,而第二个小数点就是无效的了,它后面的字符串将被忽略。
parseFloat() 只解析十进制,因此它没有第二个参数指定基数的用法
如果字符串中包含的是一个可解析为正数的数(没有小数点,或者小数点后都是零),parseFloat() 会返回整数。
例:
varnum1=parseFloat("123AF");//123
varnum2=parseFloat("0xA");//0
varnum3=parseFloat("22.5");//22.5
varnum4=parseFloat("22.3.56");//22.3
varnum5=parseFloat("0908.5");//908.5
parseInt() 和parseFloat() 的区别在于:
parseFloat() 所解析的字符串中第一个小数点是有效的,而parseInt() 遇到小数点会停止解析,因为小数点并不是有效的数字字符。
parseFloat() 始终会忽略前导的零,十六进制格式的字符串始终会被转换成0,而parseInt() 第二个参数可以设置基数,按照这个基数的进制来转换。
5. js数组添加元素
js数组添加元素的方法有三个,分别是push()、unshift()、splice(),下面分别说一下各自的用法
1、push(),在数组的末尾添加新的元素,并返回数组新长度
语法:a.push( “新元素1”,“新元素2”);
实例: