- 博客(13)
- 问答 (2)
- 收藏
- 关注
原创 JavaScript基础知识——基本概念
JS的基本知识一、语法1.1、区分大小写1.2、标识符1.3、注释1.4、严格模式1.5、语句二、关键字和保留字三、变量四、类型五、操作符六、语句七、函数一、语法1.1、区分大小写JS中的一切都区分大小写,包括(变量名、函数名、操作符等),例如:test!== Test // true1.2、标识符标识符,即变量、函数名、属性的名字,函数参数也算是变量的一种,因此函数参数也是标识符,标识符具有以下规则:1、首字符必须是字母、下划线()、美元符号2、其他字符可以是字母、下划线()、美元
2021-07-27 23:09:00
236
原创 理解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
192
4
原创 js垃圾回收机制
JavaScript具有自动垃圾回收机制,对于开发人员来说是无感知的,通常都是浏览器在代码运行中自动进行的。为什么会有垃圾回收? 举个例子,人有生老病死,但是人如果不会死亡,那么人口就会不断增长,最终将会超过地球的负载,地球也将崩溃。 我们开发的程序也是一样
2021-07-25 21:53:17
114
原创 执行环境理解
执行环境是JavaScript中最为重要的一个概念,执行环境定义了变量或函数有权访问的其他数据,每个执行环境中都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。 全局执行环境是最外围的一个的执行环境,在web浏览器中我们一般认为他是windows对象,因此全局执行环境中的所有变量和函数都在windows对象上。 除了全局执行
2021-07-21 23:31:20
354
原创 作用域与作用域链
作用域在JavaScript中,作用域是可访问对象、变量、数据的结合。ES6之前,JavaScript的作用域只有全局作用域与局部作用域,ES6发布后,又新增了一种块级作用域,但这需要借助let、const实现。1、全局作用域全局作用域是程序最外层的作用域,它会持续存在。某些情况下也可以理解为windows对象。全局作用域具有以下特点:全局作用域的变量在任何地方都能访问到全局作用域是作用域链的最顶端2、局部作用域局部作用域一般指的是函数作用域,函数作用域只有在函数定义时才会创建,函数
2021-07-21 15:38:29
189
原创 如何实现一个new方法
如何实现一个方法起到与new相同的作用首先我们先看看new方法做了什么,又具有什么特性:new的过程中发生了下面这些事:1、创建一个对象;2、将构造函数作用域赋到创建的对象中(因此this将会指向这个新对象);3、执行构造函数中代码;4、返回这个对象new关键字与构造函数组合使用生成一个实例,例如:const person = new Person()new组合构造函数生成了新的实例,这个新的实例与构造函数具有以下关系,其实也就是原型中的关系:person.__proto__ ==
2021-07-20 23:11:01
1725
原创 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
75
原创 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
109
原创 js参数传值理解
参数传值JavaScript中参数传值都是按值传递的,即函数外部的值复制给函数内部的参数,对于基本类型的值就如同基本类型的变量复制一样,直接赋值;引用类型值的传递如引用类型的变量复制一样,复制引用类型指针位置给参数;按值传递&按引用传递按指传递:传递的是值的拷贝,也就是说传递后就互不相关了;按引用传递:传递的是值的引用,也就是说传递前和传递后都指向同一个引用(也就是同一个内存空间)。基本类型传值实例:function add(num) { num += 10; return nu
2021-07-06 16:23:03
788
原创 HTML中的JavaScript
HTML中的JavaScript<script>属性:<script>标签是向HTML中插入JavaScript的主要方法,它具有以下几个属性:属性名用法async可选,使用该参数表示该标签内的资源应异步加载,不会影响页面的正常加载charset可选,表示通过src属性指定代码的字符集,大多数浏览器会忽略该值defer可选,只对外部脚本文件有效,使用该参数表示该标签内资源延迟加载,将该资源延迟到了页面文档全部解析和显示后再执行langu
2021-03-16 19:11:25
93
原创 git命令(使用git review)
git 命令提交步骤git add . 全部添加进去 如果之前有冲突解决了 这时候你stash代码的时候会提示你必须merge才能stash代码如果之前没有解决冲突的代码可以不做这一步git stash 这一步是把你本地修改的代码保存在最近的一次提交上看到 saved xxx 才算成功成功之后 本地上的代码是之前pull下来的那些代码,你修改的都已经没有了,所以记得后面 stas...
2020-08-03 15:48:59
11080
原创 ES6(一)——let与const
1、let命令1.1、局限性let命令只在let声明的代码块内有效{ let a = 1;}console.log(a) // 报错let与var的比较(let更适应于for循环)for (var i = 0,i < 10, i++){ a[i] = function() { console.log(i); }}a[6]() //10var定义了全...
2019-07-31 23:16:35
117
原创 优雅的使用Vuex
什么是VuexVuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。这是官方的解释,我们是在使用中利用其特性,可以使我们自己在不同组件之间数据共享1、安装法一:在Vue之后引入vuex会进行自动安装:<script src="/path/to/vue.js"></scrip...
2019-07-30 21:36:59
359
空空如也
vue3+typescript
2021-07-12
var声明方式的细小差异
2021-03-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人