打算写一个前端面试系列的知识,博客很久没有进行更新,更新的都是一些的基础知识。
最近在投简历进行面试,说是面试,其实就是一个自己的使用自己大白话的知识概括吧。欢迎感兴趣的小伙伴进行学习或者提出建议和改正!
大概计划章节如下
1-1 关于面试题
2-1 变量类型和计算-变量类型
2-2 变量类型和计算-强制类型转换
2-3 变量计算-理解json
2-4 原型和构造函数-构造函数
2-5 原型和构造函数-原型规则
2-6 原型和构造函数-原型链
3-1 作用域和闭包-变量提升
3-2 作用域和闭包-this
3-3 作用域和闭包-作用域
3-4 作用域和闭包-闭包
4-1 异步和单线程-异步
4-2 异步和单线程-单线程
5-1 日期常用API
5-2 数组常用API
5-3 undefined和null
1-1 关于面试题
关于面试,虽然我个人还在面试过程当中,但是我有抽空看一点点的题目。我觉得认为万变不离其宗,基础知识把握好,题目做起来就不会错得那么难看哈哈哈。
看到题目,1:看考点;2:知识点;3:扩展;
2-1 变量类型和计算-变量类型(按存储方式区分类型)
变量类型分为:值类型和引用类型
基本数据类型(值类型)分为:undefined,null,number,boolean,string.
引用类型分为:对象、数组、函数等
两者之间的区别在于:值类型每个变量的储存各自的值不会相互影响,不可以添加属性和方法。而引用类型刚好相反
值类型简单代码演示
- var a = 100;
- var b = a;
- a = 200;
- console.log(b)//100
引用类型代码演示
- var a = {age:20};//a赋值对象
- var b = a;//b的指针指向a
- b.age = 21;
- console.log(a.age)//21
使用typeof可以进行检测值类型和函数,但是引用类型的对象数组区分不出来,也可以用instanceof指定类型对象来检测
2-2 变量类型和计算-强制类型转换:变量的计算会导致类型的强制转换
变量的计算大概有以下几种:
1、字符串的拼接:
以下代码输出的结果是什么
- console.log(1+'2'+'2');//122
- console.log(1++'2'+'2');//1++'2'变成1+2,等于3拼接成为32
- console.log('A'-'B'+'2');//NAN加上拼接的字符2 结果为NAN2
- console.log('A'-'B'+2);//前面是NAN,后面是加法运算+2。运算操作中其中一个为NAN则整体为NAN
2、== 运算符
什么时候用==,什么时候用===
==值相等,===完全相等(包括类型);
- if (obj.a == null) {
- //相当于obj.a==null||obj.a===undefined的简写形式
- //这个是jquery源码推荐的写法
- }
3、if语句
- var b = 100;
- if (b) {
- //此处的b强制转换成布尔类型
- }
4、逻辑运算符号
- console.log(10&&0);//0;
- console.log("||'abc'");//||'abc';
- console.log(!window.abc);//true;
- var a = 100;
- console.log(!!a);//两个!!则是true
2-3 变量计算-理解json
json在js中是对象和数组,常用的json就是将json转换成字符串,字符串转换成对象。
json是一种数据交换的文本格式,目的是取代繁重的xml
json常用Api:
- json.stringify({a:10,b:20}); //json转换成字符串
- json.parse('{"a":10,"b":20}') //字符串转换成json
来源: http://www.cnblogs.com/web1/p/7875882.html