
JavaScript Note
LetsStudy
The growth of age will not be a hindrance to study.
展开
-
4.5 Object常用方法4
1、Object.is()判断两个值是否相同。如果下列任何一项成立,则两个值相同:两个值都是undefined 两个值都是null 两个值都是true或者都是false 两个值是由相同个数的字符按照相同的顺序组成的字符串 两个值指向同一个对象 两个值都是数字并且 都是正零+0 都是负零-0 都是NaN 都是除零和NaN外的其它同一个数字 Object.is('foo', 'foo'); // trueObject.is(window...原创 2022-01-26 15:24:09 · 251 阅读 · 0 评论 -
4.4 Object常用方法3
1、Object.getOwnPropertyDescriptor(obj,prop)/Object.getOwnPropertyDescriptors(obj)返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性).如果指定的属性存在于对象上,则返回其属性描述符对象(property descriptor),否则返回 undefined。let a = { age:18, name:'wang'}console.原创 2022-01-25 18:20:37 · 112 阅读 · 0 评论 -
4.3 Object常用方法2
1、Object.create(prototype[,propertiesObject])使用指定的原型对象及其属性去创建一个新的对象示例1let a = { age:18, name:'wang'}let b = Object.create(a)b.addr = 'beijing'/** * 也可以在创建对象时添加属性 let d = Object.create(a,{ sex:{ value:'boy', writable原创 2022-01-25 15:28:47 · 259 阅读 · 0 评论 -
4.2 Object常用方法1
1、Object.assign(target,source1,source2,...)该方法主要用于对象的合并,将源对象source的所有可枚举属性合并到目标对象target上,此方法只拷贝源对象的自身属性,不拷贝继承的属性。Object.assign方法实行的是浅拷贝,而不是深拷贝。也就是说,如果源对象某个属性的值是对象,那么目标对象拷贝得到的是这个对象的引用。同名属性会替换。Object.assign只能进行值的复制,如果要复制的值是一个取值函数,那么将求值后再复制。Object.ass原创 2022-01-25 14:46:31 · 170 阅读 · 0 评论 -
4.1 js访问器属性与数据属性
1、数据属性包含value: 属性的值writable: 表示是否可以修改enumerable: 表示能否通过for in 循环返回,即可枚举值configurable: 表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或能否把属性修改为访问器属性,默认为true示例var obj = { name:'test'}console.log(Object.getOwnPropertyDescriptor(obj,'name'))//out...原创 2022-01-24 17:53:23 · 334 阅读 · 0 评论 -
4.0 JavaScript Cos跨域
转载https://javascript.ruanyifeng.com/bom/cors.html转载 2021-06-16 09:59:10 · 235 阅读 · 0 评论 -
JavaScript 3.9 js的数组过滤filter
1、语法array.filter(function(currentValue,index,arr), thisValue)说明:currentValue:当前元素index:当前元素的下标arr:当前数组变量名thisValue:可选,传递值给this,如不传,则this的默认值为undefined2、示例let arr = [56, 15, 48, 0, 7];let newArr = arr.filter(function (value, index, array原创 2021-03-10 11:49:39 · 560 阅读 · 0 评论 -
JavaScript 3.8 proxy和reflect
一、原创 2020-12-02 17:13:27 · 153 阅读 · 0 评论 -
JavaScript 3.7 Map 、Set
一、Map原创 2020-11-30 17:28:55 · 124 阅读 · 0 评论 -
JavaScript 3.6 Symbol
一、ES6 引入了一种新的原始数据类型 Symbol ,表示独一无二的值,最大的用法是用来定义对象的唯一属性名。1、基本用法let a= Symbol("hello");console.log(a); // Symbol(hello)typeof(a); // "symbol" let b= Symbol("hello"); a === b; // false相同参数 Symbol() 返回的值不相等2、由于每一个 Symbol 的值都是不相等的,所以原创 2020-11-27 14:54:57 · 145 阅读 · 0 评论 -
JavaScript 3.5 解构赋值
一、数组模型结构1、基本let [a, b, c] = [1, 2, 3];output: a = 1 b = 2 c = 32、可嵌套let [a, [[b], c]] = [1, [[2], 3]];output: a = 1 b = 2 c = 33、可忽略let [a, , b] = [1, 2, 3];output: a = 1 b = 34、不完全解构let [a = 1, b] = []; output: a = 1, b = undefin原创 2020-11-25 16:08:28 · 162 阅读 · 0 评论 -
JavaScript 3.4 var、let、const
一、var1、var在全局有效{ var n = 1;}console.log(n);output:12、var可以多次赋值var n = 2console.log(n);output:23、var存在变量提升console.log(num);var num = 1 ;output:undefined,脚本运行时,num已经存在,但是没有赋值4、循环for (var i = 0; i < 10; i++) { setTimeout(f原创 2020-11-24 17:21:37 · 106 阅读 · 0 评论 -
JavaScript 3.3 继承与原型链
参考文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Inheritance_and_the_prototype_chain一、JavaScript 只有一种结构:对象。每个实例对象( object )都有一个私有属性(称之为 __proto__ )指向它的构造函数的原型对象(prototype)。该原型对象也有一个自己的原型对象( __proto__ ) ,层层向上直到一个对象的原型对象为null。根据定义,null没有原型...原创 2020-11-23 14:44:49 · 125 阅读 · 0 评论 -
JavaScript 3.3 正则表达式2
1、将用户输入转换成正则表达式中字面字符串function escapeRegExp(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); //$&表示整个被匹配的字符串}原创 2020-11-16 21:40:15 · 153 阅读 · 0 评论 -
JavaScript 3.2 正则表达式1
一、正则表达式1、简单模式简单模式是由你想直接找到的字符构成。如:/abc/,这个模式就仅能匹配到abc.示例var x = 'gabcdef';var y = 'gab cdef';var z = 'dcab'; with(/abc/){console.log(test(x));console.log(test(y));console.log(test(z));}/*输出true falsefalse*/简单模式只能顺序匹配,字符串中必须包含表达式,包含的内原创 2020-11-16 21:30:20 · 151 阅读 · 0 评论 -
JavaScript 3.1 js方法调用的特殊写法
一、以数组为例示例1var testArray = ["java","c","javascript","typescript"];var testArray1 = ["php","python","go","shell"];var value = { arrayName : testArray //数组的名称 .reverse() /* a.执行testArray.reverse()方法,返回值还是testArray,所以继续执行的是testArr原创 2020-10-26 15:56:14 · 195 阅读 · 0 评论 -
JavaScript 3.0 闭包
一、闭包一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。示例1function init() { var name = "Mozilla"; // name 是一个被 init 创建的局部变量 function displayN原创 2020-10-23 16:16:23 · 132 阅读 · 0 评论 -
JavaScript 2.9 默认参数和剩余参数
一、剩余参数剩余参数语法允许我们将一个不定数量的参数表示为一个数组。a、语法function(a, b, ...theArgs) { // ...}b、剩余参数和 arguments对象的区别1、剩余参数只包含那些没有对应形参的实参,而 arguments 对象包含了传给函数的所有实参。2、arguments对象不是一个真正的数组,而剩余参数是真正的 Array实例,也就是说你能够在它上面直接使用所有的数组方法,比如 sort,map,forEach或pop。3、argumen原创 2020-10-23 14:38:18 · 368 阅读 · 0 评论 -
JavaScript 2.8 this的使用
一、this的使用a、无论是否在严格模式下,在全局执行环境中(在任何函数体外部)this 都指向全局对象。示例/ 在浏览器中, window 对象同时也是全局对象:console.log(this === window); // trueconsole.log(this === globalThis)// trueconsole.log(this === global) //在node中this.b = "MDN";console.log(window.b) // "MDN"co原创 2020-10-23 12:04:28 · 129 阅读 · 0 评论 -
JavaScript 2.7 箭头函数
一、基本语法a、(param1, param2, …, paramN) => { statements } b、(param1, param2, …, paramN) => expression示例var y = x => x + 1//当只有一个参数时圆括号可以省略,上面的方法等同于var y = (x) => x + 1;var z = () => x + 1//当没有参数时,圆括号不可省略//当返回包含多行代码时,{}不可省略var s = (原创 2020-10-22 15:40:34 · 208 阅读 · 0 评论 -
JavaScript 2.6 js操作localStorage/sessionStorage
一、localStorage/sessionStorage1、localStorage(本地存储)和sessionStorage(会话存储)均提供了键值对的方式存储数据,大小一般在5MB。2、localStorage是存储在本地,不存在失效时间,只能remove。3、sessionStorage是会话存储,浏览器关闭后,数据便丢失。4、两者都遵守同源策略,但是sessionStorage在不同的页签下是不可共享的,localStorage则是共享的。5、两者均只支持以字符串的方式进行存储原创 2020-10-12 16:56:06 · 343 阅读 · 0 评论 -
JavaScript 2.5 js操作cookie
一、获取cookielet cookieArr = document.cookie.split(";");let obj = {}cookieArr.forEach((i)=>{ let arr = i.split("="); obj[arr[0]] = arr[1];});console.table(obj);二、修改cookie原创 2020-10-05 17:36:31 · 311 阅读 · 0 评论 -
JavaScript 2.4 with用法
当一个对象的方法被频繁使用时,可以使用with,如下这样,都是可以的with(document){ write("test1"); write("test2"); write("test3"); getElementById("id").innerText = "test4"; var x = createElement("div");}...原创 2020-09-28 17:09:45 · 122 阅读 · 0 评论 -
JavaScript 2.3 js之||、&&、|、&、三目运算符
/* ||只要前面为false,后面无论真假,都取后面的值 只要前面为true,后面无论真假,都取前面的值 输出结果:1 0 true true */console.log(false||1);console.log(false||0);console.log(true||0);console.log(true||1);/* &&只要前面为fal..原创 2020-09-27 23:54:49 · 1629 阅读 · 0 评论 -
JavaScript 2.2 自执行函数与匿名函数
一、自执行函数创建了一个匿名的函数,并立即执行它,由于外部无法引用它内部的变量,因此在执行完后很快就会被释放。//无参,除此之外'!'还可以换做'+','—','~'!function (){ document.write("自执行函数");}()//这样方式也可以(function (){ document.write("自执行函数");}()//有参,参数要赋值,参数只能在方法内部访问!function(x,y,z){ document.原创 2020-09-27 19:01:12 · 448 阅读 · 0 评论 -
JavaScript 2.1 回调函数及自定义异步
1、回调函数示例1:同步function a(data,num) { console.log("excute a method"); console.log(data + num);} function b(aa,bb,cc) { console.log("excute b method"); if(typeof cc === "function")...原创 2019-10-12 18:08:10 · 361 阅读 · 0 评论 -
JavaScript 1.1 数组中常用的方法详
一、JS代码<script> var num = new Array(3); for(var k = 1; k<=num.length; k++){ num[k-1] = k; } var str = new Array(4); for(var j = 1 ;j<=str.length; j++){ ...原创 2018-12-05 23:20:07 · 201 阅读 · 0 评论 -
JavaScript 1.2 Date
一、JS代码<script> document.write((new Date().getTimezoneOffset())/60 + '<br>');//返回本地时间和UTC的时差 document.write(+ new Date() + '<br>');//+new Date()==new Date().valueof()==new ...原创 2018-12-07 14:56:05 · 383 阅读 · 0 评论 -
JavaScript 1.3 String
一、String方法示例<script> var str = new Ren('王二' ,25); function Ren(name, age) { this.name = name; this.age = age; } Ren.prototype.shen = "学生" ;/*给Ren对象添加公用的属性shen和...原创 2018-12-10 16:01:20 · 184 阅读 · 0 评论 -
JavaScript 2.0 location对象
一、示例<script> document.write(location.host + "<br>");//返回主机名和端口号 document.write(location.hostname + "<br>");//返回主机名 document.write(location.href + "<br>");/原创 2018-12-21 13:50:40 · 1378 阅读 · 0 评论 -
JavaScript 1.4 Math
一、Math属性E:返回算术常量 e,即自然对数的底数(约等于2.718)LN2:返回 2 的自然对数(约等于0.693)LN10:返回 10 的自然对数(约等于2.302)LOG2E:返回以 2 为底的 e 的对数(约等于 1.414)LOG10E:返回以 10 为底的 e 的对数(约等于0.434)PI:返回圆周率(约等于3.14159)SQRT1_2:返回 2 的平方根的倒...原创 2018-12-10 17:10:26 · 188 阅读 · 0 评论 -
JavaScript 1.6 windows对象
一、示例<body><button onclick="cli()">示例1</button><br><button onclick="ope()">示例2</button><br><button onclick="exm()"原创 2018-12-17 17:12:16 · 337 阅读 · 0 评论 -
JavaScript 1.5 提示框
一、示例alert():显示带有一段消息和一个确认按钮的警告框。confirm():显示带有一段消息以及确认按钮和取消按钮的对话框。prompt():显示可提示用户输入的对话框。<script> function send() { var a = prompt("请输入我是猪"); if( a !="我是猪"){ ...原创 2018-12-11 17:29:50 · 279 阅读 · 0 评论 -
JavaScript 1.7 navigator对象
一、属性及方法示例<script> document.write("浏览器的代码名:" + navigator.appCodeName + "<br>"); document.write("浏览器的名称:" + navigator.appName + "<br>"); document.write("浏览器原创 2018-12-18 14:40:19 · 314 阅读 · 0 评论 -
JavaScript 1.8 screen对象
一、示例<script> document.write("显示屏幕的高度 (除 Windows 任务栏之外):" + screen.availHeight + "<br>"); document.write("显示屏幕的宽度 (除 Windows 任务栏之外):" + screen.availWidth + "<br>");原创 2018-12-18 14:51:08 · 186 阅读 · 0 评论 -
JavaScript 1.9 history对象
1、示例<script> document.write(history.length);//浏览器历史列表中的 URL 数量 function fan() { return history.back(); } function fo() { return history.forward() } fun...原创 2018-12-18 15:29:39 · 179 阅读 · 0 评论