前端面试必考知识点梳理-变量

小编是个有3年工作经验的前端开发攻城狮,看着身边的朋友工资翻倍的涨,心里痒痒,于是乎开始了复习之路,巩固下JS基础,"以备不时之需"。

这一系列将从面试题开始,由浅入深,剖析面试过程中必考的JS基础知识。内容主要包括:

A.    基础知识:1.原型  原型链   2.作用域  闭包  3.异步 单线程

B.    JS-API:   1. DOM操作   2.Ajax   3.时间绑定

C.    开发环境:  1.版本管理  2.模块化  3.打包工具

D.    运行环境:  1.页面渲染  2.性能优化

一.     直入今天的主题:变量类型和计算

先来几道面试题练练手:

1.    JS中使用typeof能得到那些类型?

2.    何时使用'==',何时使用'==='

3.    JS中有哪些内置函数

4.    JS变量按照存储方式分为哪些类型?并讲述其特点

5.    如何理解JSON

你能答对几道题?下面跟我一起来看看,这些题要考那些知识点吧!


二.    知识点梳理:    变量类型    变量计算

1.    变量类型:    值类型    引用类型

值类型举例:    var a = 100;  var b = a; a = 200; console.log(b)    // 100

引用类型举例:    var a = {age:50}; var b = a; b.age = 60; console.log(a.age)  //  60    

引用类型:对象、数组、函数,为了节约内存,多个变量共用一个内存块,声明的a和b就是指向同一个内存块的指针,所以console.log(a.age)  打印出来的是60,而不是50

2.    typeof运算符

typeof undifined  //  undifined

typeof 'abc'  //  string

typeof 123  //  number

typeof true  //  boolean

typeof {}  //  boject

typeof []  //  boject

typeof null  //  boject    null就是一个不指向任何地方的空指针

typeof console.log()  //  function

规律:    js中使用typeof能得到6种类型,typeof 值类型 分别是undifined string number boolean,typeof 引用类型 是boject function

3.    变量计算-强制类型转换

3.1    字符串拼接

var a = 100 + 10       //   110    

var a = 100 + '10'      //   '10010'

3.2    ==运算符

100 == '100'            //    true

0 == ' '                     //   true

null == undifined      //  true

3.3    if语句

var a = 100; if(a){ //   }

3.4    逻辑运算符

console.log(10 && 0)  //  0

console.log(' ' || ' abc')     //  'abc'    很实用的技巧  

var a = 100; console.log(!!a)    //  true


三.    解答开篇的面试题:

1.    JS中使用typeof能得到那些类型?

 js中使用typeof能得到6种类型,typeof 值类型 分别是undifined string number boolean,typeof 引用类型 是boject function,发现规律了吗?引用类型返回的都是object(函数不算,特殊)

2.    何时使用'==',何时使用'==='

if (obj.a == null){//   这里相当于obj.a === null || obj.a === undifined   JQ推荐写法,其他情况的判断要用 ===  这样答题是不是NB了很多?}

3.    JS中有哪些内置函数

Object    Array    Boolean    Number    String    Function Date RegExp    Error    (Math和JSON属于对象,不是函数)

4.    JS变量按照存储方式分为哪些类型?并讲述其特点

值类型和引用类型,特点看上边

5.    如何理解JSON

JSON不过是JS对象而已,同Math。JSON.stringify({a})   JSON.parse('{"a":10,"b":5}')

下期预告:    原型    原型链,敬请期待。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,195评论 0 13
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,632评论 1 45
  • 目录 1、谈谈你对Ajax的理解?(概念、特点、作用) 2、说说你对延迟对象deferred的理解? 3、什么是跨...
    w_zhuan阅读 1,001评论 1 28
  • 和朋友去她家,途经原来住的小区,80年代房子,路灯依旧被厚厚的法桐遮住,昏黄的灯光只能从树叶缝隙间透出,想...
    单虎芽阅读 222评论 0 0
  • 文|苏诉 01 当《思美人之山鬼卷》翻到最后一页的时候,窗外已是一片明亮。 正是春天,万物复苏,正是清晨,日之初始...
    苏诉阅读 588评论 2 7