JS基础总结

1.JavaScript的特点

  • 动态+弱类型
  • 解释型或实时编译型语言
  • 面向 对象
  • 函数式特征
  • 灵活和可扩展性
  • 反射与元编程
  • 高性能
  • 单线程异步非阻塞

2.JavaScript主要能做的事情

  • (通过DOM)改变网页文档元素和属性
  • (通过BOM)操作浏览器API
  • (事件机制)响应用户行为
  • (XHR.Fetch.WS)发送和接收数据
  • (File API)操作文件

3.JavaScript类型的说明:

  • 动态类型+弱类型
  • JS的变量、属性在运行期决定类型
  • 存在隐式类型转换
  • 有一系列识别类型的反射方法

4.JavaScript语言类型

  • typeof undefined === ‘undefined’
  • typeof true === ‘boolean’
  • typeof 123 === ‘number’
  • typeof ‘username’ === ‘string’
  • typeof {name:’sgm’} === ‘object’
  • typeof symbol === ‘symbol’
  • typeof null === ‘object’
  • typeof function(){} === ‘function’

5.变量声明

  • var 声明一个变量,可选择将其初始化为一个值
    不支持块级作用域,存在变量提升
  • let 声明一个块级作用域变量,可选择其初始化为一个值
    块级作用域,同一作用域中不允许重复声明,暂存死区(变量不会被提升,typeof也不是安全的),循环中的let作用域
  • const 声明一个只读的常量
    const声明的标识符所绑定的值不可以再次改变,但是所绑定值得内容可以改变

6.变量不声明直接引用

  • 严格模式
  • 非严格模式

7.严格相等与非严格中的相等

  • null == undefined,null !== undefined
  • 非严格相等的类型转换(’1’ == 1 , [] == 0, 0 == false, 1 == true都为true)
  • NAN与任何值(包括自身)都不相等

8.boolean类型

  • 值为true和false
  • 0、‘’、null、undefined被隐式转换为false,其他为true
  • 可以通过!!将非boolean值转换为boolean
  • 布尔操作符 && 和 || 并不会转换类型
  • 比较操作符总是返回boolean类型
  • && 和 || 都有短路特性(第一个操作数能决定结果,那么就不会再对第二个操作数求值)
    1 || console.log(“sgm”); 第一个操作数为真,则表达式的结果为真,则不会执行后面的输出
    0 && console.log(“sgm”); 第一个操作数为false,表达式结果为false,则不会输出结果
    0 || console.log(“sgm”); 1 && console.log(“sgm”); 两者都输出结果

9.Number类型

  • 数值范围:-2^53 - 2^53
  • Number.MIN_SAFE_INTEGER,可精确表示的整数范围下限。-Math.pow(2, 53)+1,即是-9007199254740991
    -Number.MAX_SAFE_INTEGER,可精确表示的整数范围上限。Math.pow(2, 53)-1,即是9007199254740991。
    -Infinity(超过最大数,无穷大),用isFinite()来判断
    -Number.MAX_VALUE(1.7976931348623157 x 10^308)
    -Number.MIN_VALUE(表示的最小的数(接近 0 ,但不是负数)。它的近似值为 5 x 10-324。)
    -Number.EPSILON,极小值(2.220446049250313e-16),作为允许的误差范围使用。可用作判断小数精度。(当某运算结果的误差小于Number.EPSILON则认为该结果是可被接受的)
  • 浮点数精度
    -value.toPrecision(n); 数字一共保留n位
    value.toFixed(n) 小数点后面保留n位
  • 数值转换
    -parseInt()在ES5严格模式下,不具有解析八进制的能力,这种情况下可以为parseInt()提供第二个参数 var num=parseInt(“AF”,16)
    parseInt()解析空字符串null会返回NaN
    -parseFloat()只解析十进制的值,十六进制格式的字符串始终被转换为0
    -Number()函数的转换规则:
    1.如果是boolean值,true和false分别被转换为1和0
    2.如果是null,返回0. var num1=Number(“”); //0
    3.如果是undefined,返回NaN
  • 0和-0
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值