前端JS面试技巧-第二章JS基础

2018-01-15  本文已影响58人  吕阳

2-1变量类型和计算

题目
知识点
  1. 值类型vs引用类型
var log = function() {
    console.log.apply(console, arguments)
}



var a = 100
var b = a
a = 200
log('b',b)
//结果 b 100
var a = {age: 20}
var b = a
b.age = 21
log('a.age',a.age)
// a.age 21

值类型存值,引用类型存引用的地址
事例二a,b指向一处.

  1. typeof 运算符详解
typeof undefined
typeof 'abc'
typeof 123
typeof true
typeof {}
typeof []
typeof null
typeof console.log()
  1. 字符串拼接
var a = 100 + 10
log('a', a)
var b = 100 + '10'
log('b', b)

b转换成了字符串

  1. == 运算符
100 == '100'
0 == ''
null = underfined
  1. if语句
var a = true
if (a) {
}
var b = 100
if(b){
}
var c = ''
if (c){
}
  1. 逻辑运算
微信截图_20180115120029.png
Object
Array
Boolean
Number
String
Function
Date
RegExp
Error
JSON.stringify({a:10,b:20}) 对象转字符串
JSON.parse('{"a":10,"b":20}') 字符串转对象

2-5 原型和原型链

题目
知识点

判断变量是否为数组 变量 instanceof Array


原型规则和示例
  1. 所有的引用类型(数组,对象,函数), 都具有对象特性,既可以自由扩展属性(除null以外)
  2. 所有的引用类型(数组,对象,函数),都有一个proto属性,属性是一个普通的对象.
  3. 所有的函数,都有一个prototype属性,属性值也是一个普通的对象
  4. 所有的引用类型,proto属性值指向它的构造函数的"prototype"属性值
  5. 当试图得到一个对象的某个属性时,如果这个对象本身没有这个属性,那么回去他的proto(即他的构造函数的prototype)中寻找.
    微信截图_20180115130457.png

本身没有就去隐士原型中找.

微信截图_20180115131322.png

解题

var arr = []
arr instanceof Array //true

function Animal()
{
      this.eat = function(){
            console.log('animal eat')
}
}

function Dog(){
        this.bark = function(){
        console.log('dog bark')
}
}
Dog.prototype = new Animal()

var hashiqi = new Dog()


  1. 创建一个新对象
  2. this指向这个新对象
  3. 执行代码,即对this赋值
  4. 返回this

再看一遍 2-12 ,写下elemt

上一篇 下一篇

猜你喜欢

热点阅读