2019-07-20 前端面试之道

一、Js方面的知识点

内置类型

js中有7种内置类型:分为两大类型:

1、基本类型

基本类型:number、string、Boolean、undefined、null、symbol

js中的数字类型都是浮点类型没有整型。

例子:

Var a = 1.1

Var b = 2.2

Console.log(a+b) 结果为3.300000000003 这就是浮点型

解决浮点型的方法:

<script>

        let a = 1.1

        let b = 2.2

       var c = parseFloat(a)+parseFloat(b) 结果为3.300000000003

        解决方法:

        var c = (parseFloat(a) + parseFloat(b)).toFixed(2)

        console.log(c);

    </script>

2、对象

对象:object是引用类型,在使用过程中会遇到浅拷贝和深拷贝的问题?

什么是浅拷贝什么是深拷贝?区别(在于是否真正获取一个对象复制实体,而不是引用)

浅拷贝:只是增加了一个指针,指向已存在的内存地址

方法:var newobject = $extend{(),oldobject}

深拷贝:增加了一个指针并且申请了一个新的内存,这个指针就指向这个新的内存。

方法:var newobject = $extend{true,(),oldobject}

扩展:

如果想获得一个变量的正确类型可以使用:object.Prototype.toString.call()这样就可以获得[object type]的字符串

扩展:

例子:Let  a ;打印a的结果为undefined,但undefined不是保留字,在低版本会被赋值。如Let undefined = 1,使用上面就会打印出错。

解决方法

a===void 0 结果为undefined

3、四则运算

只有当加法运算时,其中一方为字符串类型,就会把另外的一方转换为字符串,其他的运算只要其中一方是数字,那么另外一个就是数字。

例子:

Var a = 1

Var b = ‘5’

Var c = ‘3’

Alert(a+b-c) 结果为:12即15-3 = 12

[1,2]+[3,4]//结果为‘1,23,4’

[] = [] 结果为false

原因:两边都为引用数据类型,==是直接比较两边的数据,结果为false。

因为[]问引用类型,两个[]分别指向不同的堆内存,所以数据不同返回值为false。

[]==![] 结果为true

原因:

①:[]是对象,比较过程依靠=》Toprimitive([])==false比较,

②:toprimitive默认调用的是toString这个方法,于是toprimitive([])就等于一个空字符串

③:空字符串==false,然后Tonumber(‘’)==0,即0==0,结果为true

4、原型及原型链

每个函数都有一个prototype属性,除了function.Prototype.bind(),改属性指向原型。

每个对象都有一个_proto_属性,指向了创建该对象的构造函数的原型

一直到object.prototype原型对象终止,原型链结束

5、new

新生成了一个对象

链接到原型

绑定 this

返回新对象

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

推荐阅读更多精彩内容

  • 如何控制alert中的换行?\n alert(“p\np”); 请编写一个JavaScript函数 parseQu...
    heyunqiang99阅读 1,102评论 0 6
  • 前端面试问题集锦 JavaScript 部分 1、JQuery $(document).ready() 和 win...
    涯无凌阅读 948评论 0 2
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,163评论 0 21
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,611评论 0 7
  • 端坐在房間裡的紫倩粉面桃腮,嘴唇自然上翹,顯得格外嬌艷動人。 夜聖雅看見她時,不禁有些心跳加速:“做了新娘...
    独孤空杯阅读 192评论 0 1