JS复习2-----稳步前进

@JS复习

  • JS字符串
    用于存储和处理文本
    可以使用索引来访问其中的字符
    添加转义字符来使用引号
    有内置属性length
    字符串可以是对象,使用new创建,但尽量不要创建String对象,它会拖慢执行速度,并可能产生其它副作用
    原始字符串没有属性和方法,因为它们不是对象,原始字符串可以使用JS的属性和方法,因为JS在执行方法和属性时可以把原始值当做对象
    辨析==(等于)和===(绝对等于)的区别:
    分为两种
    1 在基础类型(String,Number等)中:
    不同类型之间比较,(等于)是转化为同一类型后看值是否相等,(绝对等于)类型不同,就直接视为不等
    同类型之间比较,两者一样
    2 在高级类型(Array,Objext等)中:
    两者没有区别,都是进行"指针地址"比较

  • JS运算符
    注意数字与字符串相加,会进行自动类型转换,最终成为字符串

  • JS比较和逻辑元算符
    && || ! 和 三目运算符

  • JS if_else语句

  • JS switch语句

  • JS for循环

  • JS while循环

  • JS break和continue
    以上均与其他语言类似

  • JS typeof,null和undefined
    null表示一个空对象引用
    undefined表示一个没有设置值的变量
    typeof用来查看属性
    需要注意以下:
    typeof [1,2,3,4] //返回object,JS中数组和函数都是对象
    typeof null //object,上面说了空对象引用
    typeof undefined //undefined,没什么可说的,就是返回这个
    typeof NaN //Number,NaN意思是Not a Number,但它本身是一个Number类型
    null === undefined //false,由上辨析可知,类型不同
    null == undefined //true,都表示空嘛,抽象上的值是相等的

  • JS类型转换
    介绍一个属性constructor
    这个属性返回所有JS变量的构造函数,比如:
    “月下ctrlc”.constructor //返回String(){…}
    其他类似
    你可以使用这个属性来查看对象是否为数组(包含字符串’Array’),就像如下代码:
    myArray.constructor.toString().indexOf(“Array”) > -1
    同样,你可以使用这个方法判断其他对象

    自动转换类型
    当JS尝试一个错误的类型时,会自动转换,比如:
    5 + null //错误类型,JS会将null转成0,从而实现相加
    5 + ‘1’ //类似,转成字符串,实现拼接

    自动转换成字符串
    当你尝试输出一个对象或一个变量时,JS会自动调用其的toString()方法,比如:
    myVar = {…} //变成"[object Object]"
    = [1,2,3] //“1,2,3”
    = 123 //“123”
    = true //“true”
    xx.innerHTML = myVar

    需要注意的转换:

原始值转数字转字符串转布尔
“0”0“0”true(因为有长度)
NaNNaN“NaN”false
InfinityInfinity“Infinity”true
-Infinity-Infinity“Infinity”true
“”0“”false(空串长度为0)
[]0“”true(有地址)
[10]10“10”true
[10,20]NaN“10,20”true
function(){}NaN“function(){}”true
{}NaN“[object Object]”true
null0“null”false
undefinedNaN“undefined”false

不用死记硬背,理解,转换成数字的时候,仅包含数字的时候才能实现转换,否则就是NaN,当然有特例,NaN->NaN;""(空串)->0;[]->0;null->0,转换成字符串的时候,大多都是直接变,记住[]->""(空数组变成空串);{}->"[object Object]",转换成布尔值时,根据数据不同的类型判断即可,是字符串就判断其长度是否为0;是对象就判断其是否有地址(JS数组和函数均是对象),然后记住规定的null,NaN,undefined转成布尔值均为false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值