随笔分类 -  JavaScript小白日记

摘要:JS修改this指向有三种方法,call,bind,apply(这三个都是函数对象的方法,需要通过函数对象来调用,它们都是绑定在函数对象原型上面的方法),fun()是函数,则fun称为函数对象,调用语法示例:fun.call() 一. call 1.call函数的作用是调用函数,并且修改这个函数的t 阅读全文
posted @ 2021-02-21 11:30 兜里还剩五块出头 阅读(1776) 评论(0) 推荐(0)
摘要:1.原型(prototype) - 创建一个函数以后,解析器都会默认在函数中添加一个数prototype prototype属性指向的是一个对象,这个对象我们称为原型对象。 - 当函数作为构造函数使用,它所创建的对象中都会有一个隐含的属性执行该原型对象。 这个隐含的属性可以通过对象.__proto_ 阅读全文
posted @ 2021-02-20 23:22 兜里还剩五块出头 阅读(242) 评论(0) 推荐(0)
摘要:方式1: 对象字面量模式 * 套路: 使用{}创建对象, 同时指定属性/方法 * 适用场景: 起始时对象内部数据是确定的 * 问题: 如果创建多个对象, 有重复代码 --> <script type="text/javascript"> var p = { name: 'Tom', age: 23, 阅读全文
posted @ 2021-02-20 23:07 兜里还剩五块出头 阅读(46) 评论(0) 推荐(0)
摘要:普通函数: .this(上下文对象) - 我们每次调用函数时,解析器都会将一个上下文对象作为隐含的参数传递进函数。 使用this来引用上下文对象,根据函数的调用形式不同,this的值也不同。就是谁调用,this就是谁。 - this的不同的情况: 1.以函数的形式调用时,this是window 2. 阅读全文
posted @ 2021-02-20 22:34 兜里还剩五块出头 阅读(517) 评论(0) 推荐(0)
摘要:- 变量的声明提前 - 在全局作用域中,使用var关键字声明的变量会在所有的代码执行之前被声明,但是不会赋值。 所以我们可以在变量声明前使用变量。但是不使用var关键字声明的变量不会被声明提前。 - 在函数作用域中,也具有该特性,使用var关键字声明的变量会在函数所有的代码执行前被声明, 如果没有使 阅读全文
posted @ 2021-02-20 17:30 兜里还剩五块出头 阅读(148) 评论(0) 推荐(0)
摘要:1.对象(Object) - 对象是JS中的引用数据类型 - 对象是一种复合数据类型,在对象中可以保存多个不同数据类型的属性 - 使用typeof检查一个对象时,会返回object - 创建对象 - 方式一: - var obj = new Object(); - 方式二: - var obj = 阅读全文
posted @ 2021-02-20 17:18 兜里还剩五块出头 阅读(35) 评论(0) 推荐(0)
摘要:- 函数声明 function 函数名([形参1,形参2...形参N]){ 语句... } - 函数表达式 var 函数名 = function([形参1,形参2...形参N]){ 语句... }; 阅读全文
posted @ 2021-02-20 17:10 兜里还剩五块出头 阅读(45) 评论(0) 推荐(0)
摘要:1.-基本数据类型和引用数据类型 -(1)基本数据类型 String Number Boolean Null Undefined - (2)引用数据类型 Object -(3)基本数据类型的数据,变量是直接保存的它的值。 变量与变量之间是互相独立的,修改一个变量不会影响其他的变量。 - (4)引用数 阅读全文
posted @ 2021-02-20 16:58 兜里还剩五块出头 阅读(1197) 评论(0) 推荐(0)
摘要:- null和undefined - 由于undefined衍生自null,所以null == undefined 会返回true。 但是 null undefined 会返回false。 - NaN - NaN不与任何值相等,报告它自身 NaN == NaN //false - 判断一个值是否是N 阅读全文
posted @ 2021-02-20 15:23 兜里还剩五块出头 阅读(79) 评论(0) 推荐(0)
摘要:Es6之前通过构造函数+原型实现面向对象编程 (1)构造函数有原型对象prototype (2)构造函数原型对象prototype里面有constructor 指向构造函数本身 (3)构造函数可以通过原型对象添加方法 (4)构造函数创建的实例对象有_proto_原型指向 构造函数的原型对象 Es6开 阅读全文
posted @ 2020-04-01 17:30 兜里还剩五块出头 阅读(129) 评论(0) 推荐(0)
摘要:利用call和原型对象实现继承 1 //3.利用call和原型对象实现继承 2 //父构造函数 3 function Father(name,age){ 4 //this指向父构造函数的对象实例 5 this.name = name ; 6 this.age = age; 7 this.sing = 阅读全文
posted @ 2020-04-01 17:01 兜里还剩五块出头 阅读(287) 评论(0) 推荐(0)
摘要:解读:1.这里有一个Star的构造函数,ldh是Star这个类实例化的对象,它们的交互是通过原型进行沟通的。 2.如果ldh这个对象像Star寻求解决方法,如果Star的原型对象(prototype)解决不了,那么会向更高级的全局原型对象寻求帮忙,如果Object的原型对象(prototype)无法 阅读全文
posted @ 2020-04-01 15:21 兜里还剩五块出头 阅读(160) 评论(0) 推荐(0)
摘要://箭头函数 //格式()=>{} 1.最简单的形式: 1 const fn =()=>{ 2 console.log('胡66!') 3 } 4 fn(); 上面输出:胡66. 2.带参数的箭头函数 1 const sum = (num1,num2) => { 2 return num1+num2 阅读全文
posted @ 2020-03-31 19:40 兜里还剩五块出头 阅读(114) 评论(0) 推荐(0)
摘要:1 var arr = []; 2 for(var i = 0;i<2;i++){ 3 arr[i]=function(){ 4 console.log(i);//这里由于内部没有定义i,根据函数链它会往上一层寻找最近的作用域下的i 5 } 6 } 7 arr[0](); 8 arr[1](); 上 阅读全文
posted @ 2020-03-31 17:02 兜里还剩五块出头 阅读(112) 评论(0) 推荐(0)
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv 阅读全文
posted @ 2019-11-27 20:41 兜里还剩五块出头 阅读(384) 评论(0) 推荐(0)
摘要:!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv= 阅读全文
posted @ 2019-11-26 19:38 兜里还剩五块出头 阅读(187) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-10-30 21:34 兜里还剩五块出头 阅读(1386) 评论(0) 推荐(0)