JavaScript
文章平均质量分 57
cdwhy
你最大的努力就是要保持身体在巅峰状态
展开
-
JavaScript高级(2)——继承
1、原型继承function Person (name, age) { this.type = 'human' this.name = name this.age = age}Person.prototype.sayName = function () { console.log('hello ' + this.name)}function Student (name, age) { Person.call(this, name, age)}// 利用原型的特性实现继原创 2022-04-12 17:13:59 · 887 阅读 · 0 评论 -
JavaScript高级(1)——原型、原型链、constructor
一、创建对象的方法1、直接通过new Object()创建var person = new Object()person.name = 'Jack'person.age = 18person.sayName = function () { console.log(this.name)}2、对象字面量方式创建var person = { name: 'Jack', age: 18, sayName: function () { console.log(this.na原创 2022-04-10 14:19:59 · 293 阅读 · 0 评论 -
jQuery项目代码结构划分
一般使用jQuery结合js进行项目开发前,需要将项目的逻辑代码结构进行整理和划分,以此避免开发后期代码结构混乱。我一般的代码结构划分如下:整个js以对象的形式进行封装,数据和方法划分得很清晰,初始化应该做什么都很明白。而其他功能性的方法也可以定义在对象里面,在其他方法体里调用。这里对主要的三部分进行说明。1、获取页面DOM元素和初始化数据应该在项目初始化时讲用到的DOM都获取和定义好,为下面的调用做好准备。而数据也是一开始就应该请求和初始化好。var myTab = { initD转载 2022-03-25 10:06:52 · 295 阅读 · 0 评论 -
JS中的“&&”与“&”和“||”“|”有什么区别?
在JavaScript中“&&”和“||”是逻辑运算符;“&”和“|”是位运算符。四个运算符主要区别是运算方法不一样:1、JavaScript中的位运算符:“&”运算方法:两个数值的个位分别相与,同时为1才得1,只要一个为0就为0。举个例子:31&2 结果为2理由:31的二进制为11111,2的二进制为10 11111&00010的结果为00010,即2控制台运行结果:2、JavaScript中的位运算符:“|”运算方法:两个位只要有转载 2022-03-01 16:14:20 · 5461 阅读 · 0 评论 -
IntersectionObserver root 不兼容导致lazyload失效
https://blog.csdn.net/weixin_30730053/article/details/97558142转载 2021-10-28 20:53:26 · 447 阅读 · 0 评论 -
[Web]动态插入的 script 脚本默认是 async 异步执行
此文转载自:传送门为了方便访问,所以加上自己的一些理解后转载。https://blog.csdn.net/qq_21265915/article/details/110677505转载 2021-10-26 10:03:59 · 138 阅读 · 0 评论 -
Javascript点击其他任意地方隐藏关闭DIV实例
代码如下,实现了点击input显示一个div层,当点击除input和div以外的地方的时候,隐藏div的功能。<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>点击其它地方关闭DIV</title> </head> <body> <input type="text" value="" id="tf"/>转载 2021-07-26 11:14:49 · 1452 阅读 · 0 评论 -
关于工作日期格式的使用记录
统计页面使用的时间的数据对比function GetDateStr(days) { var dd = new Date(); dd.setDate(dd.getDate() - days + 1); var ret = []; if(days==1){ ret.push(dd.Format('WW, MM.dd')); dd.setDate(dd.getDate() - days);原创 2021-07-12 11:00:42 · 67 阅读 · 0 评论 -
实际工作中插件使用记录
1、owl.carousel.js官网地址:owl.carousel.js启用触摸功能的jQuery插件,可让您创建漂亮的响应式轮播滑块。原创 2021-04-12 11:17:12 · 123 阅读 · 0 评论 -
“instanceof 的原理是什么“?大声告诉面试官,我知道!
在 JavaScript 中,我们通常用 typeof 判断类型,但是在判断引用类型的值时,常常会遇到一个问题:无论引用的是什么类型的对象,都会返回 "object"(当然还有 "function") 。有时候我们需要知道这个引用对象的类型是数组还是一个包装对象,这个时候 instanceof 就可以派上用场了。 废话不多说,先来几个例子热身一下,全部都知道同学,请点击右上角的关闭按钮;模模糊糊的同学,可以继续阅...转载 2021-04-09 09:16:29 · 150 阅读 · 0 评论 -
常见浏览器内核以及相关面试题
ES6模块规范在之前的javascript中是没有模块化概念的。如果要进行模块化操作,需要引入第三方的类库。随着技术的发展,前后端分离,前端的业务变的越来越复杂化。直至ES6带来了模块化,才让javascript第一次支持了module。ES6的模块化分为导出(export)与导入(import)两个模块。浏览器默认模块化 script 里加入 “type=module”;export的用法在ES6中每一个模块即是一个文件,在文件中定义的变量,函数,对象在外部是无法获取的。如果你希望外部可以读取转载 2021-02-21 11:12:06 · 397 阅读 · 0 评论 -
JavaScript作用域详解
作用域 [[scope]]:每个javascript函数都是一个对象,对象中有些属性我们可以访问,比如name属性,但有些不可以,这些属性仅供javascript引擎存取,[[scope]]就是其中一个,指的就是我们所说的作用域,其中存储了执行期上下文的集合。作用域链:[[scope]]中所存储的执行期上下文的对象的集合,这个集合呈链式链接,我们把这种链式链接叫做作用域链查找变量:从作用域链的顶端依次向下查找function a(){ function b(){ var b = 234;转载 2021-02-14 19:10:01 · 607 阅读 · 0 评论 -
单线程JavaScript详解
以下文章转自笔者2年前写的一篇文章,重新学习了下,收获还是满满。若文章有误,烦请指出,积极改正,共同学习成长。原文最近在阅读《你不知道的JavaScript中卷》,当我看到第二部分介绍异步和回调函数的一些知识时,由于该书在第二部分1、2章对线程、事件循环的概念介绍的并非详细,因此引发了我的一系列思考。于是写下这篇小文章,记录自己对该知识点的学习和思考。javascript单线程由于JavaScript是单线程语言,因此,在一个进程上,只能运行一个线程,而不能多个线程同时运行。也就是说JavaScr转载 2021-02-14 17:36:12 · 447 阅读 · 0 评论 -
单线程JavaScript
先看一个比喻进程就是一个公司,每个公司都有自己的资源可以调度;公司之间是相互独立的;而线程就是公司中的每个员工(你,我,他),多个员工一起合作,完成任务,公司可以有一名员工或多个,员工之间共享公司的空间什么是进程?进程:是cpu分配资源的最小单位;(是能拥有资源和独立运行的最小单位)什么是线程?线程:是cpu调度的最小单位;(线程是建立在进程的基础上的一次程序运行单位,一个进程中可以有多个线程)浏览器是多进程的放在浏览器中,每打开一个tab页面,其实就是新开了一个进程,在这个进程中,还有ui渲转载 2021-02-14 17:23:32 · 97 阅读 · 0 评论 -
详解函数参数和arguments的区别
ES5引入了严格模式,在严格模式中改变了arguments和函数参数之间的关系,本文将分为两种情况分别说明。一般模式直接上代码,先来看调用时缺省参数的情况function a1(x) { x = 2; console.log(x, arguments[0]);}a1(); // 2 undefinedfunction a2(x) { arguments[0] = 2; console.log(x, arguments[0]);}a2(); // undefi原创 2021-02-09 22:40:30 · 406 阅读 · 0 评论 -
深入理解JavaScript闭包
一、什么是闭包多个(两个或两个以上)函数嵌套,当内部函数被保存到外部时,将会生成闭包。内部函数在外面执行的时候一定能够调用的了原来它在的那个函数环境里的变量。闭包会导致原有作用域链不释放,造成内存泄露。function a(){ function b(){ var bbb = 234; console.log(aaa); } var aaa = 123; return b;}var glob = 100;var demo = a();demo();示例解析:原创 2021-02-09 18:55:31 · 538 阅读 · 0 评论 -
深入理解JS预编译——AO对象及GO对象
Javascript 常用代码优化和重构的方法简介主要介绍以下几点:提炼函数合并重复的条件片段把条件分支语句提炼成函数合理使用循环提前让函数退出代替嵌套条件分支传递对象参数代替过长的参数列表少用三目运算符合理使用链式调用分解大型类活用位操作符纯函数...原创 2021-02-10 19:36:11 · 848 阅读 · 0 评论 -
变幻莫测的this的指向
一、透彻认识function的this在不同调用环境下的指向1、事件调用环境谁触发事件,函数里面的this指向的就是谁let box = document.querySelect('.box');box.onclick= move();function move(){this.style.left='100px';}2、全局环境浏览器下指向window node环境下指向 module.exports3、函数内部1 ) this最终指向的是调用它的对象函数被多层对象所包含,原创 2020-12-30 10:31:21 · 112 阅读 · 0 评论 -
JS零碎知识点归纳
1、click事件中return false的含义偶然看到一段jquery的click事件的回调函数中出现’return false;’$('xxx').on('click', function() { xxx xxx ... return false;});当在函数中有出现’return false’时,表示事件处理阻止了默认的事件行为并停止了事件通过dom向上冒泡。等价于:$('xxx').on('click', function(event) {原创 2020-07-10 14:25:07 · 104 阅读 · 0 评论 -
基于防抖和节流的性能优化
https://blog.csdn.net/weixin_46409887/article/details/105827617原创 2020-12-30 10:34:29 · 198 阅读 · 0 评论 -
实现点击之后出现可输入的文本框
111111原创 2020-06-15 13:52:31 · 669 阅读 · 0 评论 -
Jquery探秘
风格非官方原创 2020-05-02 19:26:16 · 128 阅读 · 0 评论 -
JavaScript继承
前言:我们在网上可以看到继承的方法有很多种,其实本质上就只有三种。就是一下三种。一、构造函数继承function Person(name,age){ this.name = name; this.age = age;}Person.prototype.sayName = function(){ console.log(this.name);};Person.pr...原创 2020-05-02 18:22:02 · 124 阅读 · 0 评论 -
深入了解JavaScript之面向对象(二)之 class
class是什么class是定义类的方法。ES6之前用构造函数的方式定义类,ES6引入了class。class是语法糖。class内部默认是严格模式。class不存在变量提升现象,必须要先声明后使用使用传统方式定义一个类function Point1(x,y){ this.x = x this.y = y}Point1.prototype.add = function...原创 2020-05-01 16:57:26 · 302 阅读 · 1 评论 -
包装对象浅谈——对比数组、对象(新手必看)
前言首先我们来看一段代码示例var str='hello';var num=1;var bl=true;var arr=[1,2,3];var obj={x:1}; str.toString();// "hello"num.toString();// "1"bl.toString();// "true"arr.toString();// "1,2,3"obj.toS...转载 2020-04-21 23:15:35 · 146 阅读 · 0 评论 -
js中短路运算
开发当中if else 或者三目运算用的很多,其实还有一种方法也可以用于判断,比较简洁,就是短路运算。&& 逻辑与:多个条件同时成立如果左边为true,返回右边如果左边false,返回左边|| 逻辑或:任意条件成立如果左边为true,返回左边如果左边false,返回右边...原创 2020-04-18 19:44:59 · 457 阅读 · 0 评论 -
深入了解JavaScript之面向对象(一)
一、什么是对象?对象就是一个封装了数据(属性)和方法的集合体。1、面向过程:注重解决问题的步骤,分析问题需要的每一步,实现函数依次调用。2、面向对象:是一种程序设计思想,将数据和处理数据的程序封装到对象中。3、面向对象的特性:抽象,继承,封装,多态。优点:提高代码的复用性及可维护性;...原创 2020-04-12 21:51:52 · 139 阅读 · 0 评论 -
对立即执行函数的理解
立即执行函数的使用场景原创 2020-03-28 14:37:28 · 383 阅读 · 0 评论 -
JavaScript函数
http://www.imooc.com/article/7935原创 2020-01-08 17:42:20 · 163 阅读 · 0 评论 -
JavaScript创建对象的方式
1、字面量方式var cat = { name:'豆豆', sayName:function(){ console.log(this.name); }}2、new + Objectvar cat = new Object();cat.name ='豆豆';cat.sayName= function(){this.name}3、工厂模式function creat...原创 2020-01-01 23:31:45 · 92 阅读 · 0 评论 -
登录成功返回登录前页面js代码
JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。而cookie是运行在客户端的,所以可以用JS来设置cookie.假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周期是...转载 2019-08-08 11:11:48 · 991 阅读 · 0 评论 -
学习正则(一)
1、元字符:在正则中有特殊含义的字符。2、量词:表示数量的词。3、范围匹配:规定正则在指定的字符列表中进行匹配,每次只会匹配字符列表中的一个字符。例如:var str ='abcdefgadc,afcfkldsjafl';var re1 =/abc/g; //匹配abc,console.log(str.match(re));var re2= /a[bdf]c/g;//匹配abc...原创 2019-10-06 00:47:36 · 239 阅读 · 0 评论 -
学习正则(二)——进阶
1、replace(searchValue,newValue)2、子项3、子项在match与exec方法中的使用4、子项在replace方法中的使用例如var str = 'abc123';var re = /\d+/;var newStr = str.replace(re,"$$");//将匹配结果替换成$var newStr = str.replace(re,"$&am.........原创 2019-10-07 22:57:35 · 186 阅读 · 0 评论