【牛客网前端刷题tips】js基础知识tips

parseInt用法

  • parseInt(string, radix) 当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

类型转换

  • 出现%取余计算等将字符转为数字的计算,后续有类型判断的流程,需要将类型判断放在会发生数字转换的计算判断之前

函数传参

  • 调用函数可以使用call或者apply这两个方法
    • call需要将传递给函数的参数明确写出来,是多少参数就需要写多少参数
Function.call(obj[, param1[, param2[, [,...paramN]]]]);
    • apply则将传递给函数的参数放入一个数组中,传入参数数组即可
Function.apply(obj[, argArray]);

进制转换

  • 10进制转其他进制
//10转16进制
function base16(192) {
  return str.toString(16) //c0
}
  • 其他进制转10进制
//2转10进制
function base10('11000000') {
  return parseInt(str,2) //192
}

精度问题

  • toFixed() 方法使用定点表示法来格式化一个数值
  • 可能报错赋值(赋值一个不存在的数)过程可以考虑 或
//a.toString().split('.')并不确定会分成什么长度的情况下
//考虑 ||  使赋值正确
ex:aL = a.toString().split('.')[1]||''

遍历对象属性

  • for in
    • 用于遍历对象的可枚举属性,包括自有属性、继承自原型的属性
  • Object.keys
    • 返回一个数组,元素均为对象自有的可枚举属性
  • Object.getOwnProperty
    • 用于返回对象的自有属性,包括可枚举和不可枚举的
  • hasOwnproperty
    • 检测属性是存在实列中,还是存在原型中。存在对象实列中返回true

正则表达式

  • 开始结束符
    • 匹配格式字符串时加上 ^ 和 $ 表示完整匹配
  • 反向引用
    • \1:表示的是引用第一次匹配到的()括起来的部分
    • \2:表示的是引用第二次匹配到的()括起来的部分
    • /([a-zA-Z])\1/ 匹配存在两个连续相同字母的字符串
  • 是否匹配符号
    • ?匹配前面的子表达式零次或一次

String.match()

  • match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配.
  • 该方法类似 indexOf()和lastIndexOf(),但是它返回指定的值,而不是字符串的位置.

bind、apply、call

  • bind:创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。bind一般做回调使用

    • func.bind(thisArg[, arg1[, arg2[, …]]])
  • apply:接受的是参数数组,call:接受的是参数列表

    • func.apply(thisArg, [argsArray])
    • func.call(thisArg, arg1, arg2, …)

函数声明&函数表达式

  • 函数表达式,当解析器执行到它所在的代码行时,才会真正被解释执行,所以两个逻辑分支可以分别执行
  • 函数声明,解析器会率先读取并且让其在执行任何代码前可用

变量提升

  • 函数中没有声明的变量会提升为全局变量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值