原生js
作为一个小白的自我学习史
yilingpupu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
原型链模式(深入)
批量设置原型上的公有属性和方法 案例一 普通: function Fn(){ this.x = 100; } Fn.prototype.getX = function(){ console.log(this.x); }; Fn.prototype.getY = function(){ console.log(this.x); }; Fn.prototype.getZ = function(){ c...原创 2020-04-13 13:35:20 · 194 阅读 · 0 评论 -
原型链模式(拓展)
原型链模式(拓展) this和原型 在原型模式中,this常用的两种情况: 在类中this.xxx=xxx;this>>当前类的实例 某一个方法中的this>>看执行的时候“.”前面是谁,this就是谁 1)需要先确定this的指向(this是谁) 2)把this替换成对应的 案例五 function Fn(){ this.x=100; this.y=200; this.g...原创 2020-04-13 13:32:48 · 187 阅读 · 0 评论 -
原型链模式(基础)
原型链模式(基础) 案例一 function creat(name, age){ this.name=name; this.age=age; this.write=function (){ console.log("i can write"+this.name); }; } var p1=new creat("xiaobai",13); p1.write(); var p2=new creat...原创 2020-04-13 13:20:51 · 243 阅读 · 0 评论 -
构造函数(拓展)
构造函数(拓展) 案例四 普通函数格式 function Fn(){ }; Fn(); 构造函数格式 function Fn(){ }; var f1= new Fn(); >>var f1= new Fn; 1、在构造函数模式中,new Fn()执行,如果不需要传参数,后面的()可以省略 案例五 function Fn(){ this.x=100 >>this>...原创 2020-04-13 12:54:14 · 211 阅读 · 0 评论 -
构造函数模型(基础)
构造函数模型 案例一 >>工厂模式 function creatjsPerson(name,age){ var obj={}; obj.name=name; obj.age=age; obj.writeJs=function(){ console.log("my name is "+this.name +",i can write js"); }; return obj; } var ...原创 2020-04-13 12:49:24 · 1090 阅读 · 0 评论 -
工厂模式
工厂模式 案例三1.0 >>单例模式 var jsperson1={ name:"小白", age:18, writejs:function(){ console.log("my name is "+this.name+",i can write js"); } }; jsperson1.writejs(); var jsperson2={ name:"大白", age:28, wr...原创 2020-04-12 02:35:23 · 122 阅读 · 0 评论 -
单例模式
单例模式 基本数据类型 var name="小白"; var age=18; var name="大白"; var age=28; console.log(name); >>"大白" 对象数据类型的作用: 把描述同一个事物(同一个对象)的属性和方法放在同一个内存空间下,起到了分组的作用,这样不同事物之间的属性即使属性名相同,相互也不会发生冲突 我们把这种分组编写代码的模式叫 “单例模...原创 2020-04-12 02:31:10 · 116 阅读 · 0 评论 -
this练习
this练习 <div class="box"> <h2>是小仙女的就点击</h2> <div id="btn">我非常赞同<span id="spanNum">0</span></div> </div> 错误方法 var obtn=document.getElementById("btn"); v...原创 2020-04-12 02:26:20 · 143 阅读 · 0 评论 -
this关键字
this关键字 补充 我们在js中主要研究的都是函数中的this js中的this代表的是当前行为执行的主体,js中的context(上下文)代表的是当前行为执行的坏境(区域) 补充1.0 小白在沙县小吃吃馄饨 this>>小白,context>>沙县小吃 function 吃饭(){ this>>小白 } 小白.吃饭(); this是谁和函数在哪里定...原创 2020-04-12 02:21:19 · 95 阅读 · 0 评论 -
作用域的练习
作用域的练习 补充 ++i和i++ 都是自身累加1,在和其他的值进行运算的时候是有区别的 i++:先拿i的值进行运算,运算完成本身+1, ++i:先本身累加1,然后拿累加完成的值去运算 补充 var i=5; console.log(1+(i++)); >>6 i=6 console.log(1+(++i)); >>i=6 7 补充拓展 console.log(2+...原创 2020-04-12 02:15:41 · 233 阅读 · 0 评论 -
内存的释放和销毁
内存的释放和销毁 堆内存: 对象数据类型或者函数数据类型,在定义的时候首先都会开辟一个堆内存,并且堆内存会有一个引用地址,如果外面有变量知道了这个地址,外面就是这个内存被占用了,就不能被销毁了 案例一 var obj1={name:"小白"}; var obj2=obj1; 我们想要让堆内存释放/销毁,只需要把所有引用它的变量值赋值为null即可,如果当前的堆内存没有任何东西被占用了,那么...原创 2020-04-12 02:13:15 · 573 阅读 · 0 评论 -
查找上级作用域
查找上级作用域 如何查找当前作用域上一级作用域 看当前函数是在哪个作用域下定义的,那么他的上级作用域就是谁,和函数在哪里执行的没有任何关系 案例一 var num=12; function fn(){ var num=120; return function(){ console.log(num); }; } var f=fn(); f(); >>120 上级作用域是绿色框 ~f...原创 2020-04-12 02:04:56 · 153 阅读 · 0 评论 -
预解释机制
预解释是毫无节操的一种机制 in: in:"num"in window, 判断num是否为window这个对象的一个属性,是的话返回true,不是的话返回false var obj={name:"小白",age:17}; console.log("name" in obj); >>true console.log("eat" in obj); >>false 1、预解...原创 2020-04-10 14:49:50 · 140 阅读 · 0 评论 -
var的作用
在全局作用域中,带var和不带var的关系 区别: 带var的可以进行预解释,所以在赋值的前面进行不会报错 不带var的是不能进行预解释的,在前面执行会报错 案例一 console.log(num); >>undefibed var num=12; console.log(num2); >>报错:num2 is not defibed num=12; 相同: num2=...原创 2020-04-10 14:43:39 · 1150 阅读 · 0 评论 -
作用域链
案例一 console.log(total); // >>undefibed var total = 0; function fn(num1,num2){ console.log(total); // >>undefined var total =num1+num2; console.log(total); // >>300 } fn(100,200); con...原创 2020-04-10 14:40:36 · 106 阅读 · 0 评论 -
预解释
预解释预解释1、当浏览器加载html页面的时候,首先会提供一个供全局js代码执行的环境,全局作用域(global、window)案例一示意图2、预解释(变量提声) 在当前的作用域中,js代码执行之前,浏览器首先会默认的把所有带var和function的进行提前的声明或者定义1)理解声明的定义2)对于带var和function关键字的预解释的时候操作是不一样的3)预解释只发生在当前的作用域下案例二示...原创 2020-03-26 14:52:02 · 169 阅读 · 0 评论
分享