- 博客(11)
- 收藏
- 关注
原创 js中this的问题及其他内容
call与apply bind 同:都是都是function对象原型上的方法,用来改变this指向的 不同:传参形式不同call(obj,10,20,30) allpy(obj,[10,20,30])函数直接执行 还有一个方法bind,bind传参与call相同,但是返回的是一个函数,它不会马上执行。 call的性能更好,尤其是传给函数参数大于三个时,这种方式会返回一个新函数,但不会马上执行。 apply: func.apply(thisArg, [argsArray]) thisArg: 必选,f
2021-01-14 18:44:04
152
原创 字符串常用方法总结
字符串常用方法总结 一 charAt() 查找返回指定位置的字符 参数charAt(index索引) var str = "abcdefg"; var s = str.charAt(5); // 下标为5的字符 console.log(s);//f 二 charcodeAt() 查找返回指定位置字符的unicdoe码 参数charcodeAt(index索引) var str = "abcdefg"; var s = str.charCodeAt(5); // 下标为5的字符的unic
2021-01-14 18:42:36
132
原创 数组常用方法总结
数组方法 1.定义 new Array() || var xxx = [ ]; 2.length 数组的length还可进行末尾的删除和添加新项 var points = [40, 100, 1, 5, 25, 10]; point.length = 3; //[40,100,1] //添加 point[point.length] = 33; //数组末尾添加33 3.检测数组 Array.isArray(arr) || typeof 迭代 参数:项目值,项目索引,数组本身 every()
2021-01-14 18:41:40
114
原创 变量在内存栈堆中的存储
全局对象GO(Global Object) 变量对象VO(Variable Object) 活动对象AO(Active Object):每个执行上下文都会有一个自己的变量对象,函数私有上下文中叫活动对象,也是私有变量。 变量在内存栈堆中的存储 原理: JavaScript中创建变量的方式(其实都是变量和值产生关联的过程): 先创建左边变量,再创建右边值,然后等号关联。 注意先看是不是创建变量,然后看看右边是不是创建值。 连等赋值的时候(a = b = 3),最右边先产生关联(即 b = 3;a
2021-01-14 18:39:42
264
原创 git理解大致流程
git:分布式 所谓分布式,就是每个开发者的本地客户端都是一个完整的仓库,都能记录历史版本信息,不需要联网也可以生成版本记录,也可以快速回退到某个版本。 如果只有一个人开发,可以不把本地历史版本记录上传到中央服务器,但如果多人协同开发则需要。 命令 git status 查看当前修改的文件处于哪一个区域: 红色–工作区, 绿色–暂存区, 看不见–已经提交到历史区(生成版本了)(commit过了)三区保持一致了。 git rm --cached xxx.xx 把暂存区某个文件删除 git rm --cac
2021-01-07 10:55:48
65
原创 浏览器底层运转
浏览器底层运转 多进程浏览器结构: 浏览器进程:控制浏览器标签页外的用户界面(包括地址栏、书签、后退等) 网络进程:负责发起网络请求 GPU进程:负责整个浏览器界面的渲染 插件进程:负责控制网站所使用的所有插件 渲染器进程:用来控制显示tab标签内的所有内容 当你在浏览器地址栏里输入内容时,浏览器进程的UI线程会捕获你的输入内容,如果访问的时网址,UI线程会启动一个网络进程来请求DNS进行域名解析,接着开始连接服务器获取数据(如果输入的时关键词,会启动搜索引擎来查询) 当网络线程获取到数据后会通过Sa
2020-11-24 12:14:02
149
原创 CSS+HTML实现环形加载动画
<style> body, html { width: 100%; height: 100%; margin: 0; } .loading-box { position: absolute; width: 50px; height: 50px; border-top.
2020-11-20 21:54:42
530
原创 JS-创建对象的方式2
创建对象的方式 1.工厂模式 核心:函数内部显示创建对象 + 函数式调用实例化对象 function createPerson(name,age){ let o = new Object(); o.name = name; o.age = age; o.sayName = function(){ log(this.name) } return o; } let person1 = createPerson('Nicholas',18); 2.构造函数模式 核心:this + new 实例
2020-11-20 20:59:37
84
原创 JS-创建对象的方式
ES6 之前创建对象的方式 利用new Object() 创建对象 let obj = new Oject(); 利用对象字面量创建对象 var obj2 = {}; 利用构造函数创建对象 function Star(uname, age){ this.uname = uname; this.age = age; this.sing = function(){ log("我会唱歌") } } let dmt = new Star("lll",18); let zxy = new Star(
2020-11-20 20:59:07
100
原创 JS中的执行环境的理解
JS中的执行环境的理解 执行环境中定义了变量或函数有权访问的其他数据,每个执行环境关联一个变量对象(只在函数执行的过程中存在,但全局环境的变量对象是一直存在的),环境中所有的变量和对象都存在这个对象中,但我们无法访问到这个对象。 每个函数都有自己的执行环境,最外层有一个全局执行环境。 代码在执行环境中执行的时候,会创建一个变量对象的作用域链,用以确保变量和函数的有序访问。作用域链的前端始终是当前代码所在环境的变量对象。 作用域链的顺序问题:在创建一个函数时,会创建一个预先包含全局变量对象的作用域链,这个作
2020-11-20 20:21:27
145
原创 JS-数据类型检测
基本数据类型的检测 typeof tpeof [val]:用来检测数据类型的运算符。 基于typeof检测出来的结果: 首先是一个字符串 字符串中是对应的类型 局限性: typeof null =>“object” 但是null并不是对象 基于typeof 无法细分出当前值是普通对象还是数组对象等,只要是对象类型,返回结果都是"object" typeof可以检测基本类型,但引用类型均返回object(function 返回 Function) instanceof console.log
2020-11-20 19:55:56
328
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人