一、JavaScript 是一门什么样的语言,它有哪些特点?
javaScript 一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它 的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给HTML网页增加动态功能。JavaScript兼容于ECMA标准,因此也称为ECMAScript。
基本特点 :
1.是一种解释性脚本语言(代码不进行预编译)。
2.主要用来向 HTML(标准通用标记语言下的一个应用)页面添加交互行为。
3.可以直接嵌入 HTML 页面,但写成单独的 js 文件有利于结构和行为的分离。
4.跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如 Windows、Linux、Mac、 Android、iOS 等)。
二、js 中深拷贝和浅拷贝的区别?
浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。
深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。
深拷贝的方法:
1、递归拷贝
2、使用 Object.create()方法
3、jquery 有提供一个$.extend 也可以实现
4、函数库 lodash,也有提供 cloneDeep 用来实现
三、Js 的原型和原型链?原型链的应用?
每个对象都会在其内部初始化一个属性,就是 prototype(原型),当我们访问一个对象的属性时, 如果这个对象内部不存在这个属性,那么他就会去 prototype 里找这个属性,这个 prototype 又会 有自己的 prototype,于是就这样一直找下去,也就是我们平时所说的原型链的概念。
应用: 原型链是实现继承的主要方法。
四、apply,call,和 bind 有什么区别?
三者都可以把一个函数应用到其他对象上,注意不是自身对象.apply,call 是直接执行函数调用, bind 是绑定,执行需要再次调用.apply 和 call 的区别是 apply 接受数组作为参数,而 call 是接受逗号分隔的无限多个参数列表。
五、$(this)和 this 的区别是什么?
$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用 val() 获取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。

本文深入探讨JavaScript语言的特性,包括它作为动态类型的脚本语言特点,以及在网页中的应用。同时,解释了深拷贝与浅拷贝的区别,提供了实现深拷贝的几种方法。此外,详细阐述了JavaScript的原型和原型链机制,及其在继承中的关键作用。最后,对比了apply、call和bind这三种函数调用方式的异同,并讨论了$(this)与this在JavaScript中的不同用法。
327

被折叠的 条评论
为什么被折叠?



