- 博客(16)
- 收藏
- 关注
原创 解决git上传文件出错[rejected] master -> master (fetch first) error: failed to push some refs to ‘ —————————
当执行到push时,就会报错,报错代码如下:$ git push -u origin masterTo gitee.com:backspacegit/aafdajs.git ! [rejected] master -> master (fetch first)error: failed to push some refs to 'gitee.com:backspacegit/aafdajs.git'hint: Updates were rejected because the
2021-06-12 14:55:00
765
原创 JS-原型与原型链
prototype是函数的原型对象,即prototype是一个对象,它会被对应的__proto__引用。 要知道自己的__proto__引用了哪个prototype,只需要看看是哪个构造函数构造了你,那你的__proto__就是那个构造函数的prototype。 所有的构造函数的原型链最后都会引用Object构造函数的原型,即可以理解Object构造函数的原型是所有原型链的最底层,即Object.prototype.__proto===null1Object.__proto__...
2021-05-18 19:03:49
100
原创 call与apply,bind手写及其区别
1.在js中call/apply,还有比较少用的bind;传入的第一个参数都是改变函数当前上下文对象;call/apply区别在于传的参数不同,一个是以逗号分隔字符串,一个以数组形式。而bind和call几乎没差别只是将值返回。可是当我们将null/undefined作为值传进去的时候呢?居然得到的是window,当前js运行环境的全局对象。这其实在es5中就有解释的:传入null/undefined的时候将执行js全局对象浏览器中是window,其他环境是global。这样就解释得通了...
2021-05-18 18:37:50
78
原创 JS-面试题-请问可以手写一个new()吗
第一种方法// 模拟 new function myNew (constructor, ...args) { // 步骤1:创建新的对象 let targe = {} // 步骤2:将该对象的 __proto__ 与构造函数的 prototype 进行挂钩。 targe.__proto__ = constructor.prototype // 步骤3:将该对象作为构造函数的上下文,执行构造函数,并拿到构造函数的返回值。 const Res = constructor.apply(targe
2021-04-23 21:42:22
151
原创 JS-微任务与宏任务面试题练习
微任务与宏任务面试题console.log('script start'); setTimeout(function() { console.log('setTimeout'); }, 0); Promise.resolve().then(function() { console.log('promise1'); }).then(function() { console.log('promise2');}); console.log('script
2021-04-15 11:26:23
456
1
原创 JS-原型与原型链常见面试题
原型与原型链的常见面试题1.var A=function(){}A.prototype.n=1var b=new A()A.prototype={n:2,m:3}var c=new A()console.log(b.n,b.m,c.n,c.m)//1,undefined,2,3分析一下:b.n 因为b是A的实例所以指向A的原型对象,有一句话:对象实例的隐式原型指向构造函数的显示原型2.var F=function(){};Object.prototype.a=f
2021-04-11 09:41:52
1963
原创 JS-高级内容-04三者之间的关系
三者之间的关系内存是一个容器,用来存储程序运行需要操作的数据(内存是用来存储数据的空间)。变量是内存的标识,我们通过变量找到对应的内存,进而操作(读/写)内存中的数据。情况讨论:var a = xxx(赋值操作),a内存中到底保存的是什么 首先将代码加载到内存中 然后编译 再然后解析执行 内存内容有两种数据 一种是基本数据 一种是地址值数据 var a = 3 var b = a 变量赋值是将a的值复制一份给b 对象是将地址给变
2021-04-10 13:09:24
108
1
原创 JS-高级内容-03数据 变量 内存
数据 变量 内存1.什么是数据存储于内存中代表特定信息的'东西',本质就是0101(二进制)...数据的特点:具有可读、可传递、可运算的基本特性。一个数据类型可以进行运算是固定的万物(一切)皆数据,函数也是数据。内存(程序)中所有操作的目标: 数据 * 算术运算 * 逻辑运算 * 赋值 * 运行函数(调用函数传参)2.什么是内存内存条通电后产生的可存储数据的空间(临时的)。内存产生和死亡: 内存条(集成电路板)==>通电==>产生一定容量的存储(内存)空间==>
2021-04-10 13:02:56
70
原创 JS-高级内容-02据类型相关问题
数据类型相关问题什么是实例//实例:实例对象//类型:类型对象 function Person (name,age) {//构造函数 类型、 this.name = name, this.age = age } var p = new Person('tom',12)//根据类型创建的实例对象 //Person('jack',15)1.undefined 与null的区别undef
2021-04-10 12:58:38
56
原创 JS-高级内容-01数据类型分类
数据类型分类基本数据类型Number:任意数值String:任意文本Boolean:true / falseundefined:undefinednull:null对象(引用)类型Object:任意对象([]、函数...)Array:特别的对象类型(数值下标 / 内部数据有序)Function:特别的对象类型(可执行)数据类型判断typeof返回数据类型的字符串表达可以区别:数值、字符串、布尔值、undefined、function不能区别:null与object、一般ob
2021-04-10 12:54:41
59
原创 JS-原型与原型链面试题
function A() { } A.prototype.n = 1 var b = new A() A.prototype = { n: 2, m: 3 } // A的原型对象被改变了,但是b的原型对象可没变 var c = new A() console.log(b.n, b.m, c.n, c.m) //1 underfined ...
2021-04-08 17:17:01
260
原创 JS声明函数的三种方式
1、函数关键字functionfunction myFunction(x){ alert(x) }2、函数字面量var myFunction = function(x) { alert(x) } 3、Function构造函数var myFunction = new Function( 'x' , ' alert(x) ') //由Function构造的函数参数可变,最后一个参数为函数体...
2021-04-07 20:23:32
95
原创 JavaScript-总结
引入方式1.外部引入 引入一个独立的js文件<script type="text/javascript" src="路径/文件名.js"></script>2.内部引入(内嵌) 在head或者body标签内定义script标签,然后在script标签内书写js代码<script type="text/javascript">js代码</script>3.行内引入 在标签内结合事件来使用<input type="button" value=
2021-03-25 21:22:51
104
2
原创 JavaScript-slice() 方法与splice() 方法
slice() 方法格式:slice() 方法可从已有的数组中返回选定的元素 该方法并不会修改数组,而是返回一个子数组arrayObject.slice(start,end)start 必需 规定从何处开始选取(不包含起始位置)。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推end可选 规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参
2021-03-25 09:55:08
63
原创 JavaScript-数组方法总结
数组方法1.unshift() 方法格式:unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度修改原来的数组,不创建新的数组arrayObject.unshift(newelement1,newelement2,…)var arr=[1,2,3,4];arr.unshift("李四");console.log(arr); //["李四", 1, 2, 3, 4]2.shift() 方法格式:shift() 方法用于把数组的第一个元素从其中删除,并返回删除的值va
2021-03-25 09:19:03
61
原创 JavaScript-变量提升、预编译
1.变量提升console.log(a); //undefined a未被定义var a="111";console.log(a); //111function fn () { console.log(a); // undefined var a = '222'; console.log(a); // 222} 2.函数提升fn(1,2) //3function b(x,y) { return x + y}fn(1,2) //3fn2(1,2
2021-03-25 08:28:01
81
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人