笔记
文章平均质量分 93
js笔记
mingli_2020
这个作者很懒,什么都没留下…
展开
-
symbol
新的基本数据类型——symbol当开发时,在构造函数里定义了一个属性,结果二次开发后,在后面又添加属性时,将其覆盖了一个属性不想让在外部使用Symbol(description):里面的参数只是一个标志function F() { this.count = 5;}let f = new F;f.count = 44;//symbol具有全局唯一性//一旦生成就是一个全局唯一性// symbol就是一串特殊的标识,看不到里面长什么样,就是不让你获取它let symbol原创 2020-12-23 20:24:18 · 119 阅读 · 0 评论 -
iterator
Iteratoriterator遍历器在JS中内置了两种遍历方式for、for...in在ES6中新增了for...of语句,该语句将会根据Iterator的自定义遍历逻辑对数据进行遍历只有在具备遍历器接口的数据上可以使用for…of(数组。类数组对象天生就有遍历器接口)var arr = [1, 2, 3, 4];//遍历数组中的indexfor (var some in arr) { console.log(some);}//遍历数组中的valuefor (var s原创 2020-12-23 20:22:48 · 80 阅读 · 0 评论 -
class语法
面向对象面向过程var name = "Tom";var age = 13;var gender = "male";var name = "Jerry";var age = 15;var gender = "female";面向对象代码复用,面向对象中类这种技术可以极大的体现代码复用同一类的对象应当由同一种类来生成面向对象实际上就是对问题域进行封装 var o = { name: "Tom", age: 13, gender: "male"原创 2020-12-23 20:22:11 · 83 阅读 · 0 评论 -
AJAX
AJAX基础原有提交数据方式原有技术提交表单向后端提交数据action后面的地址:访问这个地址,并且还要携带?后面的数据<!-- 如果action里没有地址,表示发给自己 --> <form action="http://127.0.0.1"> <!-- 表单必须要有name属性 用来描述数据的,哪个是密码,哪个是用户名 --> <input type="text" name="username"&原创 2020-12-23 20:20:45 · 69 阅读 · 0 评论 -
generator
generator必须配合一个关键字yield才能使用generator将一个函数封装成了多个片段,一个yield是一个片段在函数内部只要碰到yield关键字就会停止运行只要在generator实例化对象后面调用next指针就会恢复执行generator是如何向外进行产出的呢?——原理通过yield关键字进行产出先生成一个generator函数generator函数一执行就会生成generator实例化对象(不用new)在generator实例化对象身上调用next().原创 2020-12-23 20:19:37 · 82 阅读 · 0 评论 -
es6-解构与扩展运算符
对象的新语法糖(属性与方法的简写)箭头函数属性值与属性名相同时直接将成员变量名作为函数名let foo = 66;let o = { foo, //"foo": foo say() { //say: function() {}; }}函数的新语法默认参默认参在不传值以及传入的值是undefined时,会激活默认参function foo(a, b) {原创 2020-12-23 20:18:26 · 587 阅读 · 0 评论 -
数组、字符串方法总结
数组序号数组的方法参数以及作用返回值1Array.prototype.push(...elements?)向原数组的尾部推入新的元素并返回数组被操作后的长度。破坏性,返回新数组的长度2Array.prototype.pop()无参,将原数组的最后一个元素摘除并返回摘除的元素。破坏性,返回删除的元素3Array.prototype.unshift(...elements?)向原数组的首部推入新的元素并返回数组被操作后的长度。破坏性,返回新数组的长度原创 2020-11-28 15:35:18 · 125 阅读 · 0 评论 -
省市二级联动下拉框
<!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>省市二级联动</title></head><body> <form action原创 2020-11-26 18:43:29 · 196 阅读 · 0 评论 -
select中的两个属性——selectedIndex、selectedOptions
selectedIndex与selectedOptions这两个属性是在onchange事件函数中被激发的属性,在select下的子节点中点击哪一个,就会被赋值哪一个selectedIndex是点击后获得的下标selectedOptions是点击后获得的HTMLCollection并且只有一个元素,因此要获得点击的option就需要selectedOptions[0]<body> <select name="" id="sel"> <op原创 2020-11-25 20:39:08 · 3613 阅读 · 0 评论 -
函数里的方法
new.targetfunction F() { //表示函数new了谁,只能在函数内部用,不能在外部用 console.log(new.target); //function F() //判断是普通调用还是通过new调用 console.log(new.target === F);}new F();不用new进行实例化对象不想用new,又想跟new出来一样和Array一样function F(name, age) { //考虑到兼容性原创 2020-11-10 20:46:16 · 261 阅读 · 0 评论 -
class语法
面向对象面向过程var name = "Tom";var age = 13;var gender = "male";var name = "Jerry";var age = 15;var gender = "female";面向对象代码复用,面向对象中类这种技术可以极大的体现代码复用同一类的对象应当由同一种类来生成面向对象实际上就是对问题域进行封装 var o = { name: "Tom", age: 13, gender: "male"原创 2020-11-08 21:18:15 · 147 阅读 · 0 评论 -
继承
原型继承不仅继承父类自身有的东西,还继承父类继承的原型代码不是整块封装,有点离散原型继承于原型function Animal () { this.kind= "Animal"; this.say = function(){ console.log("I'm " + this.kind); }}function Cat() { this.name = "cat";}//Cat.prototype.__proto__ = Animal.pr原创 2020-11-08 21:17:19 · 669 阅读 · 1 评论 -
函数的创建
函数声明语句//add() //也可在前面调用,函数语句一处声明,处处可调用function add() { var a = 1; var b = 2; console.log(a + b);}add();具名函数声明表达式具名函数的名字将会失效,调用时用变量,函数名用于函数体内部var fn = function add() { var a = 5; var b = 10; console.log(a原创 2020-10-26 22:25:17 · 121 阅读 · 0 评论 -
对象(1)
对象字面量结构 var o = { "name": "tom", "age": 16, "say": function() { console.log("我叫tom,今年16岁"); } }在js中对象的key都是字符串对象的value可以是任意类型所有的key都是对象的成员变量如果一个key对应的是非函数值,就称为对象属性如果一个key对应的是函数值,就称为对象方法描述符var stu = { name: "to原创 2020-10-26 22:24:42 · 77 阅读 · 0 评论 -
数据类型
数据类型的分类JS 在ES 5.1中共有六种数据类型:string:字符串类型number:数值类型boolean:布尔类型,发明该类型的人叫布尔,出于纪念和尊敬undefined:undefined类型,该值表示一个量被创建但却没有赋值null:null类型,该值的本质是一个引用地址,但是该引用地址指向一个空值object:对象类型、引用类型ObjectFunctionArrayDateStringNumberBoolean在以上六种类型当中,string、numb原创 2020-10-26 22:24:06 · 158 阅读 · 0 评论 -
元编程的六个描述符
描述符var stu = { name: "tom", birthday: "1995-08-01", ID: 341226199508011574}Object.defineProperty(stu, "age", { value: 20, configurable: true, //默认是false enumerable: true, //默认是false writable: true //默认是false})de原创 2020-10-26 22:23:32 · 108 阅读 · 0 评论 -
Math的属性和方法
Math对象的方法序号方法用处1Math.abs(num)绝对值2Math.round(num)四舍五入3Math.floor(num)向下取整,==parseInt4Math.ceil()向上取整5Math.pow(x, y)求x的y次方结果6Math.sqrt(x)开平方7Math.max(...argunments)求最大值8Math.min(...arguments)求最小值9原创 2020-10-20 18:34:51 · 241 阅读 · 0 评论 -
定时器
延时定时器延时定时器的参数延时定时器:定义一个方法,指定方法在多久后执行 只执行一次// setTimeout(handler, timeout, ...arguments);// handler:回调函数// timeout:多久之后执行回调函数// ...arguments:传入回调函数的参数列表var clock = setTimeout(function(i) { console.log(i);}, 1000, i)//终止定时器,定时器必须有变量名作为定时器的名称原创 2020-10-17 17:30:15 · 281 阅读 · 0 评论 -
数组的方法
数组的方法序号数组方法方法的作用方法的返回值1arr.push(a, b)数组尾部添加元素,可添加多个,有参数破坏性,返回新数组的length2arr.pop()数组尾部删除元素,只删除一个,无参数破坏性,返回被删除的元素3arr.unshift(a, b)数组首部添加元素,可添加多个,有参数破坏性,返回新数组的length4arr.shift()数组首部删除元素,只能删除一个,无参数破坏性,返回被删除的元素5arr.reverse原创 2020-10-16 20:30:02 · 102 阅读 · 0 评论 -
Date实例化对象
Date实例化对象Date身上的方法序号方法作用1new Date()默认返回当前时间;里面可以添加字符串时间"2020-1-1" 返回参数时间2Date.now()返回当前时间戳(1970-1-1)3new Date().getTime()返回设置的时间戳,常用语求两个时间之间的长度4new Date().getFullYear()获得new Date()得到的年份5new Date().getMonth()获得new Dat原创 2020-10-16 19:51:00 · 809 阅读 · 0 评论