![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
原生JS
文章平均质量分 60
《JavaScript高级程序设计(第三版)》与《ECMAScript6》的差异对比
前端酒
这个作者很懒,什么都没留下…
展开
-
JavaScript基础知识——基本概念
JS的基本知识一、语法1.1、区分大小写1.2、标识符1.3、注释1.4、严格模式1.5、语句二、关键字和保留字三、变量四、类型五、操作符六、语句七、函数 一、语法 1.1、区分大小写 JS中的一切都区分大小写,包括(变量名、函数名、操作符等),例如: test!== Test // true 1.2、标识符 标识符,即变量、函数名、属性的名字,函数参数也算是变量的一种,因此函数参数也是标识符,标识符具有以下规则: 1、首字符必须是字母、下划线()、美元符号 2、其他字符可以是字母、下划线()、美元原创 2021-07-27 23:09:00 · 112 阅读 · 0 评论 -
理解JavaScript中的闭包
在理解闭包之前我们需要先了解以下知识: 作用域与作用域链 JavaScript执行环境 垃圾回收机制 在了解以上知识后,我们再来探讨闭包的知识。 什么是闭包 闭包是指有权访问另一个函数作用域中变量的函数;使用方:一般是在函数中再返回一个函数的,例如: function closure(){ return function(){} } 举个实例来看一下,大家可以先算一下输出结果: let a = 0; let b = 0; let A= function(a){ A=function(b)原创 2021-07-25 23:49:05 · 143 阅读 · 4 评论 -
js垃圾回收机制
JavaScript具有自动垃圾回收机制,对于开发人员来说是无感知的,通常都是浏览器在代码运行中自动进行的。 为什么会有垃圾回收? 举个例子,人有生老病死,但是人如果不会死亡,那么人口就会不断增长,最终将会超过地球的负载,地球也将崩溃。 我们开发的程序也是一样原创 2021-07-25 21:53:17 · 107 阅读 · 0 评论 -
执行环境理解
执行环境是JavaScript中最为重要的一个概念,执行环境定义了变量或函数有权访问的其他数据,每个执行环境中都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。 全局执行环境是最外围的一个的执行环境,在web浏览器中我们一般认为他是windows对象,因此全局执行环境中的所有变量和函数都在windows对象上。 除了全局执行原创 2021-07-21 23:31:20 · 338 阅读 · 0 评论 -
作用域与作用域链
作用域 在JavaScript中,作用域是可访问对象、变量、数据的结合。 ES6之前,JavaScript的作用域只有全局作用域与局部作用域,ES6发布后,又新增了一种块级作用域,但这需要借助let、const实现。 1、全局作用域 全局作用域是程序最外层的作用域,它会持续存在。某些情况下也可以理解为windows对象。全局作用域具有以下特点: 全局作用域的变量在任何地方都能访问到 全局作用域是作用域链的最顶端 2、局部作用域 局部作用域一般指的是函数作用域,函数作用域只有在函数定义时才会创建,函数原创 2021-07-21 15:38:29 · 178 阅读 · 0 评论 -
如何实现一个new方法
如何实现一个方法起到与new相同的作用 首先我们先看看new方法做了什么,又具有什么特性: new的过程中发生了下面这些事: 1、创建一个对象; 2、将构造函数作用域赋到创建的对象中(因此this将会指向这个新对象); 3、执行构造函数中代码; 4、返回这个对象 new关键字与构造函数组合使用生成一个实例,例如: const person = new Person() new组合构造函数生成了新的实例,这个新的实例与构造函数具有以下关系,其实也就是原型中的关系: person.__proto__ ==原创 2021-07-20 23:11:01 · 1700 阅读 · 0 评论 -
call()、apply()、bind()的实现
call() 使用方法: _fun.call(obj,…args); 参数: 第一个参数是函数运行时将指向的this,第二个参数放置了一些参数,call方法需要将其逐个列出; 作用: 改变执行函数的作用域为传入call的第一个参数对应的作用域 使用示例: let obj = { name: "_call应用" }; function _fun(args){ console.log(this.name,...args); } _fun.call(obj,'参数2') // _call应用 参数2 原理:原创 2021-07-07 10:33:45 · 72 阅读 · 0 评论 -
ios中Date.prase()兼容问题
ios中Date.prase()兼容问题 Date.prase(): 接收一个类似yyyy-mm-dd HH:MM:SS格式的日期字符串作为参数,返回日期字符串对应的时间戳。例如: let nowTime = "2021-07-06 20:00:00"; let time = Date.prase(nowTime); 在实际使用中,大部分场景下上述的代码都是没问题的,都能正常返回正确的时间戳。但是在IOS系统中,上面的代码并不能返回正确的时间戳,这是因为在IOS中它只能正确处理处理日期格式为 yyyy/m原创 2021-07-06 19:47:31 · 102 阅读 · 0 评论 -
js参数传值理解
参数传值 JavaScript中参数传值都是按值传递的,即函数外部的值复制给函数内部的参数, 对于基本类型的值就如同基本类型的变量复制一样,直接赋值; 引用类型值的传递如引用类型的变量复制一样,复制引用类型指针位置给参数; 按值传递&按引用传递 按指传递:传递的是值的拷贝,也就是说传递后就互不相关了; 按引用传递:传递的是值的引用,也就是说传递前和传递后都指向同一个引用(也就是同一个内存空间)。 基本类型传值实例: function add(num) { num += 10; return nu原创 2021-07-06 16:23:03 · 777 阅读 · 0 评论 -
HTML中的JavaScript
HTML中的JavaScript<script>属性: <script>标签是向HTML中插入JavaScript的主要方法,它具有以下几个属性: 属性名 用法 async 可选,使用该参数表示该标签内的资源应异步加载,不会影响页面的正常加载 charset 可选,表示通过src属性指定代码的字符集,大多数浏览器会忽略该值 defer 可选,只对外部脚本文件有效,使用该参数表示该标签内资源延迟加载,将该资源延迟到了页面文档全部解析和显示后再执行 langu原创 2021-03-16 19:11:25 · 92 阅读 · 0 评论