学习前端JS,牢记的五个知识小要点!!!

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

一、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 元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值