vanlee

Results 10 comments of vanlee

**parseInt**。parseInt()函数更专注于字符串是否包含数值模式。字符串最前面的空格会被 忽略,从第一个非空格字符开始转换。 不同的数值格式很容易混淆,因此 parseInt()也接收第二个参数,用于指定底数(进制数)。如 果知道要解析的值是十六进制,那么可以传入 16 作为第二个参数,以便正确解析 let res = ['1', '2', '3'].map(parseInt) let arr = ['1','2','3'] let i =0; for(;i

>- 本文首次发布时间:2020年12月02日 >- 建议阅读时长:1H >- 建议阅读对象:初中级前端工程师、JavaScript爱好者 >- 文章没有涉及`Promise` 涉及`较少数组`相关,后续会更新数组专题,以及`异步编程`专题,当然啦也有不少常见的你喜欢的手写实现没有出现,说不定哪天你回来看看就更新上去了呦 - [「前端厚说」CSS头部高频面试题及参考答案](https://juejin.cn/post/6900900840786755598) 修改于2020年12月02号 - [「前端厚说」HTML头部高频面试题及参考答案](https://juejin.cn/post/6900716607685787656) 发布于2020年11月30日 > ### 更新记录 >- 2020年12月08日 增加 `form表单提交` >- 2020年12月26日 增加`原生ajax的封装` ## 前言 这是`前端厚说` 大系列第三篇正式的文章。作为前端开发者,那么`html` 我们抛砖引玉了一篇,那么[css](https://top-fe-iqa.netlify.app/guides/css/box_model.html)...

- 对于常见编译型语言(例如:Java)来说,编译步骤分为:词法分析->语法分析->语义检查->代码优化和字节码生成。 - 对于解释型语言(例如 JavaScript)来说,通过词法分析 -> 语法分析 -> 语法树,就可以开始解释执行了。 - 词法分析是将字符流(char stream)转换为记号流(token stream) - 语法分析成 AST (Abstract Syntax Tree) - 预编译,当JavaScript引擎解析脚本时,它会在预编译期对所有声明的变量和函数进行处理!并且是先预声明变量,再预定义函数! - 解释执行,在执行过程中,JavaScript 引擎是严格按着作用域机制(scope)来执行的,并且 JavaScript 的变量和函数作用域是在定义时决定的,而不是执行时决定的。JavaScript 中的变量作用域在函数体内有效,无块作用域; #### 参考阅读 -...

```js let student = { name: 'John', age: 30, isAdmin: false, courses: ['html', 'css', 'js'], wife: null, sayHi() { // 被忽略 alert('Hello'); }, [Symbol('id')]: 123, // 被忽略 something: undefined, //...

--- title: 手写实现数组去重的方法 --- 要想搞明白数组去重的各种方案,第一步要做的事就是什么是重复的元素,先来看一段代码结果 ```js /** * 谈到数组去重,几乎是面试必备的一道开胃菜 * 要想数组去重,第一件事就是有一个数组 */ // 首先第一步 console.log(1 === 1); // true console.log("1" === "1"); // true console.log("true" === "true"); // true console.log(false...

## 06-js中的数组 ### 前言 数组、链表、栈、队列都是线性表,它表示的结构都是一段线性的结构,与之对应的就是非线性表,例如树、图、堆等,它表示的结构都非线性。 ### 思考 - JavaScript 中,数组为什么可以保存不同类型? - JavaScript 中,数组是如何存储的喃? ### 什么 是数组 > 数组(英语:Array),是由相同类型的元素(element)的集合所组成的数据结构,分配一块连续的内存来存储. ![20200426202840](https://raw.githubusercontent.com/yayxs/Pics/master/img/20200426202840.png) **以上是js数组在内存中大致位置** ,或者 > Chrome 浏览器JS引擎 V8中,数组有两种存储模式,一种是类似C语言中的线性结构存储(索引值连续,且都是正整数的情况下),一种是采用Hash结构存储(索引值为负数,数组稀疏,间隔比较大) 为什么这么说,因为在`js` 中 数组的存储 ```js //...

## 01-输出以下代码执行的结果并解释为什么 ```js var obj = { '2': 3, '3': 4, 'length': 2, 'splice': Array.prototype.splice, 'push': Array.prototype.push } obj.push(1) obj.push(2) console.log(obj) ``` ### 类(伪)数组(arraylike) - 就是像数组的对象(某些对象看起来像但不是) - **通过索引属性访问元素** - **拥有...

## 02-使用sort() 对数组进行排序 - 【3,15,8,29,102,22】 > [mdn 上的sort](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) **`sort()` 方法用[原地算法](https://en.wikipedia.org/wiki/In-place_algorithm)对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的** - 原地算法[原地算法](https://en.wikipedia.org/wiki/In-place_algorithm) - 将元素转为字符串 - UTF-16 ![00.png](https://i.loli.net/2020/04/20/E258fou79vS3iVa.png) 采用的`utf-16` ,常见的字符`数字` `英语大小写` `汉字` ```js let arrs = ['你好啊','HELLO','hello',666] arrs.sort() console.log(arrs) // [666,...

![image](https://user-images.githubusercontent.com/50107464/196583782-9a1a3e11-0a90-4c09-b645-bebbed774bd1.png) Vue.js 设计与实现 5.1 理解 Proxy 和 Reflect ```js // 案例代码有误 01 const obj = { foo: 1 } 02 console.log(Reflect.get(obj, 'foo', { foo: 2 })) // 输出的是 2 而不是...