至今刷牛客网的JS错题集涉及到的知识点

想了下还是想记录下刷牛客网以来 JS的一些错题,最近觉得好像自己又不是那么理解基础,不然也不会错那么多题了TOT不过有些坑还是要踩吧,还有一些JS知识点的整理,其实之前自己记录的石墨,不过感觉还是不怎么方便吧,还是放在博客里,最近比较忙,不然其实有打算用express+ejs搭一个个人博客,尽量争取时间咯,毕竟每个前端er都会想设计个人的博客hhhh话不多说,开始记录下一些知识点:

javascript的全局函数(那个时候是选了settimeout,但其实settimeout函数是window环境下来着,包括setintervel

typeof操作符&&instanceof操作符
(1)typeof操作符
  格式:result=typeof variable
  返回值:
  undefined 值未定义
  boolean 布尔值
  string 字符串
  number 数值
  object 对象、null
  function 函数
(2)instanceof操作符
  格式:result=variable instanceof constructor
  返回值:
  true
  false
2. 方法
  String.prototype.isString=function(str){
  return ((str instanceof String) || (typeof str).toLowerCase() == 'string'); // 两种方法判断是不是字符串
  }
3.原理
  var str1=new String('str1');
  var str2='str2';
  console.log(typeof str1);//object 这里因为用了构造函数 new出了一个对象
  console.log(typeof str2);//string
  console.log(str1 instanceof String);//true 对象就可以用instanceof方法判断是不是该类型
  console.log(str2 instanceof String);//false 这个只是一个字符串,不能用instanceof方法,只能用typeof方法

块内声明函数

在严格模式下其实在块内声明函数是会报错的,在非严格模式下,如果非要在块内声明函数,则需要用到函数表达式如下

if (x) {  var foo = function() {}}

---未完待续---

 

posted @ 2018-04-16 23:38  noleee  阅读(118)  评论(0)    收藏  举报