摘要: 创建正则表达式 构造函数方式:new RegExp() //.test()为测试字符串中是否有符合正则的字符串 var reg1 = new RegExp(/abc/); reg1.test("abc"); //返回 ture 字面量方式: var reg1 = /abc/; reg1.test(" 阅读全文
posted @ 2021-03-11 20:57 镜像山海 阅读(85) 评论(0) 推荐(0)
摘要: 作用域 JS不支持块级作用域,只有函数能形成作用域 但是JS可以用let代替var创建变量模拟块级作用域 if(1){ let a = 1; } console.log(a); 闭包 形成条件:嵌套函数,内部函数访问外部变量 在函数内形成作用域,声明的变量不可被外部访问,而内部创建函数可以访问,再把 阅读全文
posted @ 2021-03-11 13:21 镜像山海 阅读(44) 评论(0) 推荐(0)
摘要: 函数的四种调用模式 根据函数内部this的指向不同,可以将函数的调用模式分成4种 函数调用模式 方法调用模式 构造函数调用模式 上下文调用模式(借用方法模式) 函数:当一个函数不是一个对象的属性时,我们称之为函数。 方法:当一个函数被保存为对象的一个属性时,我们称之为方法。 函数调用模式 如果一个函 阅读全文
posted @ 2021-03-09 12:51 镜像山海 阅读(224) 评论(0) 推荐(0)
摘要: 混入式继承 通过一个函数遍历b对象自身属性和方法来添加到a对象上 var a = {y: 1}; var b = { a: 1, b: 2, c: function(){ console.log("c"); } } a.extend = function(obj){ for(var k in obj 阅读全文
posted @ 2021-03-09 11:16 镜像山海 阅读(48) 评论(0) 推荐(0)
摘要: 原型:构造函数.prototype/实例化对象.proto 自定义对象中 构造函数直接写对象的话 会造成内存浪费,创建两个对象方法是一样的 但是是不同内存地址 如果在全局创建函数,然后构造函数中赋值,可以避免内存浪费,但会造成另一个现象就是全局污染 所以我们一般通过原型添加方法,可以避免函数全局污染 阅读全文
posted @ 2021-03-08 13:45 镜像山海 阅读(115) 评论(0) 推荐(1)
摘要: offset 获取元素真实距离和大小 .offsetWidth 获取元素的宽度 .offsetHeigth 获取元素的高度 .offsetParent 获取距离元素最近有定位的父元素 .offsetLeft 获取元素距离父元素(offsetParent)的真实距离 - left+margin-lef 阅读全文
posted @ 2021-03-07 12:57 镜像山海 阅读(54) 评论(0) 推荐(0)
摘要: ||:找到真值则返回 &&:找到假值则返回 一般用于设置默认值,例如: function func(a){ a = a || 1; //如果a传值了则设置为a 如果没传值则设置为1 } 阅读全文
posted @ 2021-03-06 22:07 镜像山海 阅读(77) 评论(0) 推荐(0)
摘要: JSON对象转字符串 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。 返回值:通过计算 string 得到的值(如果有的话)。 var st = "{\"name\":\"盖伦\",\"hp\":616}"; var json = eval("("+st+")"); 阅读全文
posted @ 2021-03-05 14:07 镜像山海 阅读(151) 评论(0) 推荐(0)
摘要: DOM 是Document Object Model( 文档对象模型 )的缩写。 节点概念 DOM把所有的html都转换为节点 整个文档 是一个节点 元素 是节点 元素属性 是节点 元素内容 是节点 注释 也是节点 下面展示获取各个节点 document.write("<div id=\"d1\"> 阅读全文
posted @ 2021-03-05 11:35 镜像山海 阅读(102) 评论(0) 推荐(0)
摘要: 前提:0.00001是指超过0的最小值 0.99999是指不到1的最大值 先推理到取0~x的公式 Math.random() 取值是[0,1) 所以Math.random() *2 取值是[0,2) 但是 步骤2 取值是小数 所以需要用到Math.ceil() Math.ceil(Math.rand 阅读全文
posted @ 2021-03-03 15:06 镜像山海 阅读(193) 评论(0) 推荐(0)