JS基础知识
小五郎__
这个作者很懒,什么都没留下…
展开
-
JS 时间相关函数
时间相关函数// 1.创建时间let date = new Date();console.log(date); // 2021-01-04T09:00:24.212Z// 2.获取当前年份console.log(date.getFullYear()); // 2021// 3.获取月份(0-11)console.log(date.getMonth()); // 0// 4.获取当前日期(1-31日)console.log(date.getDate()); // 4// 5.获取当原创 2021-01-04 17:27:35 · 93 阅读 · 0 评论 -
JS盒子模型
元素的13个私有属性,包括3个系列:1、client系列clientWidth:元素的内容+左右paddingclientHeight:元素的内容+上下paddingclientTop:元素的上边框(border-top-width)clientLeft:元素的左边框(border-left-width)2、offset系列offsetWidth:元素的clientWid...原创 2019-07-28 20:58:22 · 123 阅读 · 0 评论 -
JS事件
JS事件事件基础事件基础1、什么是事件?事件分为两部分:1)行为本身:浏览器天生就赋予其的行为。onclick、onmouseover(onmouseenter)、onmouseout(onmouseleave)、onmousemove、onmousedown、onmouseup、onmousewheel(鼠标滚轮滚动行为)、onscroll(滚动条滚动行为)、onresize(wind...原创 2019-08-02 21:44:31 · 165 阅读 · 0 评论 -
JS DOM基础
DOM知识点获取DOM元素的方法DOM的节点节点关系属性节点操作:增删改查获取DOM元素的方法document.getElementById 一个元素对象[context].getElementsByTagName 元素集合[context].getElementsByClassName 元素集合document.getElementsByName 节点集合document.doc...原创 2019-07-29 16:36:05 · 107 阅读 · 0 评论 -
JS变量提升
变量提升变量提升的定义和操作定义变量时带var和不带var的区别只对等号左边进行变量提升不管条件是否成立都要进行变量提升变量提升的重名处理变量提升的定义和操作在当前作用域中,js代码自上而下执行之前,浏览器首先会把所有的带var/function关键字的进行提前声明/定义。注意声明和定义的区别:声明(declare):var num;在当前作用域中吼一嗓子我有num这个名字了。定义(d...原创 2019-07-12 15:23:18 · 87 阅读 · 0 评论 -
JS继承
js中的几种继承方式1.原型链继承2.call继承(借用构造函数)3.组合继承1:原型链+call4.原型式继承5.组合继承2:原型式+call6.冒充对象继承7.中间类继承1.原型链继承特点:父类私有+公有–>子类公有原型链继承:B.prototype = new A;子类原型等于父类的一个实例。function A() { this.x = 100;}A.protot...原创 2019-07-11 22:50:25 · 68 阅读 · 0 评论 -
JS中的call、apply和bind方法
call和apply方法call和apply的作用call和apply的区别call和apply的细节知识点应用call和apply的作用call和apply都是用来改变函数中的this关键字的:首先,让函数执行。然后,再把当前函数中的this改变为call和apply中的第一个参数传递的值。call和apply的区别执行的语法: 函数名.call(obj, arg1, a...原创 2019-07-11 20:49:38 · 85 阅读 · 0 评论 -
JS重写原型
重写prototype什么时候需要重写prototype重写原型需要注意的点(恢复constructor和恢复原有方法)什么时候需要重写prototype对于一个类,它天生自带一个属性:prototype。但是有时候,我们会重写类的原型。比如,在继承的时候,我们想通过原型让子类B继承父类A的原型上的属性和方法(公有继承公有)。function A() { this.x = 10;...原创 2019-07-10 16:55:36 · 424 阅读 · 0 评论 -
JS创建对象
JS创建对象JS中创建对象的7种方式1. 工厂模式2. 构造函数模式3. 组合模式:构造函数+原型模式JS中创建对象的7种方式讲原型链之前需要了解的,JS中创建对象的方式(这里的创建对象是指创建多个相似对象,它们有共同的属性和方法),高程上介绍了7种:工厂模式、构造函数模式、原型模式、组合使用构造函数和原型模式、动态原型模式、寄生构造函数模式、稳妥构造函数模式。这里主要讲工厂模式-->...原创 2019-07-10 15:08:34 · 88 阅读 · 0 评论 -
JS中判断实例对象的属性是共有的还是私有的
in运算符和hasOwnProperty()方法in运算符hasOwnProperty()方法判断私有还是公有in运算符in:用来检测某一个属性是否属于这个对象(可以检测私有/公有属性)。举个栗子:function Person(name){ this.name = name; this.fn = function () { console.log(this...原创 2019-07-10 11:09:16 · 515 阅读 · 0 评论 -
JS中的堆栈内存
JS堆栈栈内存堆内存堆内存释放栈内存释放栈内存栈内存俗称作用域:全局作用域(只有一个,即window)和私有作用域。作用:为js代码提供执行的环境(执行js代码的地方)。基本数据类型是直接存放在栈内存中的。堆内存堆内存用于存储引用数据类型值的(相当于存储的仓库)。对象存储的是键值对。函数存储的是代码字符串。堆内存释放堆内存利用空对象指针null来释放空间。var o...原创 2019-07-09 22:43:19 · 882 阅读 · 0 评论 -
JS中typeof运算符的6种数据类型
typeof运算符typeof的返回值是字符串,因此判断时要加引号,例如:console.log(typeof a === "undefined");typeof有6种类型:undefinedstringnumberbooleanobjectfunctionconsole.log(typeof undefined); // =>undefinedconsole.l...原创 2019-07-09 22:24:39 · 438 阅读 · 0 评论 -
JS中的数据类型
JS有两种大的数据类型:基本数据类型(值类型)和引用数据类型值类型引用数据类型1. 在JS中遇到对象,会严格执行以下步骤:2. 在JS中函数的操作步骤,先创建函数,再执行函数值类型值类型有六种:numberstringbooleannullundefinedsymbol引用数据类型包括对象和函数。对象有:{ } 普通对象[ ] 数组/^$/ 正则Math 对象...原创 2019-07-09 22:08:33 · 156 阅读 · 0 评论 -
JS中this的几种情况
JS中this的指向问题this的定义注意点非严格模式下this的指向问题严格模式下this的指向问题this的定义this指的是当前函数执行的主体,也就是说,谁执行这个函数,this就是谁。注意点函数外面的this是window,但我们研究的是函数内部的this问题,因为这个比较具有困惑性。一定要注意一点:this是谁,和函数在哪个作用域定义的以及在哪执行的没有任何关系。functi...原创 2019-07-09 15:30:42 · 178 阅读 · 0 评论 -
JS闭包
作用域和作用域链作用域(scope)的概念作用域链私有变量如何查找上级作用域闭包的作用1. 保护2. 保存作用域(scope)的概念JS中作用域就是栈内存,包括三种:全局作用域:window私有作用域:函数执行块级作用域:使用let创建变量存在块级作用域作用域链函数执行形成一个私有作用域(保护私有变量),进入到私有作用域中,首先变量提升(声明过的变量是私有的),接下来执行代码:...原创 2019-07-12 21:20:09 · 63 阅读 · 0 评论