随笔分类 - js
巩固js基本功
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>实现可拖拽的div
阅读全文
摘要:基于原型的继承:通过隐式原型链来实现继承 // 定义父类Animal function Animal(sex) { this.sex = sex; } Animal.prototype.gender = function () { console.log(`这只动物是${this.sex}的`);
阅读全文
摘要:let animal1 = { type: "鼠", eat(food) { console.log(`${this.type}吃${food}`); }, }; let animal2 = { type: "猫", }; animal1.eat("玉米"); //鼠吃玉米 animal1.eat.
阅读全文
摘要:异步与同步 概念 异步任务相当于现实生活中的同步,在日常生活中,我们要烧水,可以在烧水的时候煮饭做菜。等水开了,再去灌水(后面这句是回调) 同步任务则是,必须完成这件事,才能做下一件事,这件事做不完,就做不了下一件事。比如,你还没写完作业,而恰巧你的小伙伴来找你完,你的父母就和你说,写完作业才能出去
阅读全文
摘要:事件委托 首先,有两个问题 问题一: 有一个瀑布流布局,上面有数以千计的图片,当点击某一张图片的时候就预览该张图片,你会怎么添加点击事件? 问题二: 如果有个业务让你监听目前不存在的元素的点击事件,这个时候该怎么做? 针对问题一,可以监听所有图片的祖先元素,等冒泡的时候判断target是不是这些张图
阅读全文
摘要:获取元素 jQuery的基本设计思想和主要用法,就是选择某个网页元素,然后对其进行操作。 css选择器 $(document) 选择整个文档 $('#myId') 选择id为#id的网页元素 $('div.myClass') 选择class为myClass的选择器 $('input[name=min
阅读全文
摘要:DOM事件的三个阶段(DOM事件流): 1.事件捕获阶段 由document节点依次向内捕获直到目标元素 2.处于目标阶段 目标节点处理事件的阶段 3.事件冒泡阶段 由目标节点向外冒泡直到document节点 事件绑定的API IE5*:attachEvent('onclick',fn) 冒泡 网景
阅读全文
摘要:解释为什么如下代码会打印 6 个 6 let i = 0 for(i = 0; i<6; i++){ setTimeout(()=>{ console.log(i) },0) } 因为在js中有个事件循环机制,最简单的理解就是会先处理同步任务,再处理异步任务,在这段代码中,定时器是异步的,当for循
阅读全文
摘要:js的数组和典型数组的区别 典型数组 元素数据类型相同 连续的内存存储 通过数字下标获取元素 js数组 元素数据类型可不同 随机的内存存储 通过字符串下标获取,在使用数字下标获取时,会自动将数字转化成字符串然后再获取元素 js数组的操作 创建 直接创建的三种方式 let arr = [1,2,3]
阅读全文
摘要:对象 定义 无序的数据集合 对象的创建方法: 第一种 对象字面量 let obj = {user:'admin',pwd:123456} 第二种 new操作符和Object构造函数 let obj = new Object({user:'admin',pwd:123456}) 注:键名是字符串,不是
阅读全文
摘要:js的数据类型至今为止共有8种,分为两类:基本数据类型(7种)和引用数据类型(1种) 基本数据类型: String Number Boolean Undefined Null Symbol Bigint 引用数据类型: Object 先简单介绍下7种基本数据类型 一、String(字符串) 1.写法
阅读全文
摘要:一、表达式和语句 表达式: 1+2 值为3 fn(1,2) 值是该函数的返回值 console.log 为函数本身 console.log(3) 值为undefined 语句: var num = 100 区别: 表达式一般都有值,语句可能有也可能没有 语句一般会改变环境 当然,都有特殊情况 注:大
阅读全文
摘要:一、概念 js是一种高级的、解释型的编程语言。JavaScript是一门基于原型、函数先行的语言,它支持面向对象程序设计,命令式编程,以及函数式编程,主要被作为客户端脚本语言在用户的浏览器上运行。 二、历史简介 1. 1995年5月网景公司的布兰登·艾克所仅用10天时间就将js语言的原型(不是js中
阅读全文
摘要:1.let和const let和const在块级作用域内有效,不会污染全局变量,都存在暂时性死区,只能先声明再使用,且不能重复声明 const声明的是常量(指的是常量对应的内存地址不得改变),必须赋值,只读,但对于对象、数组,里面的值可以改变 let使用经典案例:let命令代替闭包功能 var ar
阅读全文