JavaScript
Reagan_
这个作者很懒,什么都没留下…
展开
-
JavaScript this
thisthis 本身原本很简单,总是指向类的当前实例。this的特点:在 function 内部被创建函数预编译过程中,this –> window(this指向window)全局作用域里this –> window指向调用时所在函数所绑定的对象谁调用这个方法,this就指向谁。obj.func(); func()里面的this指向obj)this 不能...原创 2018-07-31 19:43:31 · 344 阅读 · 0 评论 -
JavaScript try...catch和一些错误类型
try…catch使用的格式:try{}catch(e) {}try 在try里面的语句发生错误,不会执行错误后的try里面的代码(会在catch里面捕捉try的第一行错误语句,try后面的语句直接忽略了),但是会执行外面的代码 例子:<script type = "text/javascript"> try{console.log("a");cons...原创 2018-08-01 11:19:26 · 372 阅读 · 0 评论 -
JavaScript es5严格模式的说明
es5严格模式现在的浏览器是基于es3.0和es5.0的一些新增的方法使用的。但是,es3.0和es5.0有冲突的部分,这时要是启用es5.0严格模式,那么es3.0和es5.0产生冲突的部分就是使用es5.0的,否则使用es3.0(也是一般情况下,不启用严格模式的情况下)。今天我们探究“冲突的部分用es5.0(在严格模式下)是怎么解决的?”es5.0严格模式的启用: “use...原创 2018-08-01 11:20:25 · 396 阅读 · 0 评论 -
JavaScript with
with作用(两点):改变作用域链<script type = "text/javascript"> var obj = { name : "obj" } var name = 'window'; function test(){ var name = "scope"; var age =...原创 2018-08-01 11:22:02 · 298 阅读 · 0 评论 -
JavaScript Dom选择器
Dom选择器document.getElementByld().getElementsByTagName()getElementsByName();.getElementsByClassName().querySelector//css选择器(在css中怎么选,这里就怎么选),在ie7和ie以下的版本中没有,不是实时的。.querySelectorAll()//css选择器,在i...原创 2018-08-01 11:23:08 · 377 阅读 · 0 评论 -
DOM基本操作
DOM基本操作节点的类型:元素节点 1属性节点 2文本节点 3注释节点 8document 9DocumentFragment 11节点的四个属性: - nodeName 元素的标签名,以大小写形式表示,只读 - nodeValue Text节点或Comment(注释)节点的文本内容,可读写 - nodeType 该节点的类型,只读 - attribu...原创 2018-08-01 15:45:21 · 752 阅读 · 0 评论 -
JavaScript 事件
事件如何绑定事件处理函数:1.ele.onxxx = funcyion(event){}兼容性很好,但是一个元素的同一个事件上只能绑定一个处理程序基本等于写在HTML行间上2.obj.addEventListener(type,fn,false);IE9以下不兼容,可以为一个事件绑定多个处理程序3.obj.attachEvent(‘on’+type,fn);...原创 2018-08-10 14:43:24 · 471 阅读 · 0 评论 -
事件冒泡、事件捕获、事件委托
事件处理模型–事件冒泡、捕获不论是冒泡还是捕获都是在说事件发生的顺序。事件冒泡:结构上(非视觉上)嵌套关系的元素,会存在事件冒泡的功能,即同一事件,自子元素冒泡向父元素。(子元素先执行,父元素再执行)事件捕获:结构上(非视觉上)嵌套关系的元素,会存在事件捕获的功能,即同一事件,自父元素捕获至子元素。(父元素的功能先执行,子元素再执行)IE没有捕获事件 触发顺序:先...原创 2018-08-10 15:24:27 · 351 阅读 · 0 评论 -
JavaScript 定时器
定时器:setlnterval();setTimeout();clearlnterval();clearTimeout(); 这四个函数都是全局对象window上的方法,内部函数this指向window1.setlnterval();定时循环 每隔多长时间(千毫秒)执行一次函数 属性示例:&lt;script type="text/javascript"&gt; ...原创 2018-08-02 11:38:27 · 616 阅读 · 0 评论 -
JavaScript 获取窗口属性
获取窗口属性查看滚动条的滚动距离 window.pageXOffset/pageYOffset IE8及IE8以下不兼容document.body/documentElement.scrollLeft/scrollTop 兼容性比较混乱,同时取两个值相加,因为不可能存在两个同时有值封装兼容性方法,求滚动轮滚动离getScrollOffset() 为了解决兼容性的问题,我们来封...原创 2018-08-02 16:10:05 · 543 阅读 · 0 评论 -
JavaScript 脚本化css
脚本化css(脚本化是控制的意思)读写元素css属性 dom.style.prop(写入操作) 可读写行间样式,没有兼容性问题,碰到float这样的保留字属性,前面应加css eg:float –&gt; cssFloat复合属性建议拆解(比如width、height分成两个语句写),组合单词变成小驼峰式写法写入的值必须是字符串格式查询计算样式(完全是读取操作) windo...原创 2018-08-02 16:12:42 · 362 阅读 · 0 评论 -
如何用js添加css3动画
其实很简单,我们只需要提前写好变化前的div,和变化后的div,在js中控制class类名的改变来实现动画就可以了。//html部分:.div1 { width:22px; height:22px; transition: 0.4s;}.div2 { width:200px; height:130px; transition: 0.3s;...原创 2018-08-14 21:43:40 · 15288 阅读 · 2 评论 -
解决input 密码框内密码的显隐问题
引入问题:我们在很多场景下都会有输入密码的情况,输入的时候,框右端会有一个眼睛,可以选择密码是否能看见。在具体实现的过程中我发现眼睛的点击事件会和input的失去聚焦事件冲突,也就是说我们点击眼睛,切换明文的同时却失去了焦点,在正常输入下,输入框应该仍然保持聚焦状态。当时写的代码是这样的:input.onfocus = function() { if (input.value == "...原创 2019-01-30 22:37:58 · 3628 阅读 · 0 评论 -
JavaScript 数组去重
数组去重: 利用对象的特性:同一个属性名不可能出现两次 方法:将数组的属性值当作对象的属性名添加到对象里去 代码示例:<script type = "text/javascript"> Array.prototype.unique = function (){ var temp = {}, //用对象构成一个新数组 ...原创 2018-08-01 11:13:06 · 258 阅读 · 0 评论 -
JavaScript 类数组
类数组类数组的特点: 1.可以利用属性名来模拟数组的特性 2.可以动态的执行length的属性 3.如果强行让类数组调用push方法,则会根据length属性值的位置进行属性的扩充 在函数中实参列表—arguments,就是一个类数组。类数组的三个组成部分: 1.属性要为索引(数字)属性 2.必须有length属性 3.最好加上push方法 示例:var obj ...原创 2018-08-01 11:12:31 · 344 阅读 · 0 评论 -
JavaScript 数组(改变数组的方法)
数组定义方式(两种):数组字面量 var arr = []; –建议这一种数组的构造函数形式 var arr = new Array();区别:var arr = [10]; //arr[0] = 1(主要),代表数组长度为1(推断)var arr = new Array(10); //给new Array(10)传参,只传一个参数,系统会认...原创 2018-08-01 11:11:22 · 6513 阅读 · 0 评论 -
JavaScript 运算符
运算符1.运算操作符“+” 数字运算、字符串链接任何数据类型加字符串都等于字符串 例题: var a = “a”+1+1 //a11 var a = 1+1+“a”+1+1 //2a11 var a = 1+“a”+1+1 //1a11 (需要注意的是,不为1a2,因为是自左向右相加的)“-”,“*”,“/”,“%”...原创 2018-07-27 21:42:17 · 421 阅读 · 0 评论 -
JavaScript 类型转换
类型转换— 类型转换包括饮食类型转换和显示类型转换显示类型转换: 1.Number(mix) 2.parseInt(string.radix) 3.parseFloat(string) 4.toString(radix) 5.String(mix) 6.Boolean()1.将内容转换成数字经历number,不管能不能转换数字,数字类型都...原创 2018-07-28 10:29:17 · 208 阅读 · 0 评论 -
JavaScript 函数、作用域
函数1.定义:函数声明:function theFirstName(){ } 函数声明中的函数名遵循小峰峰:第一个单词小写,后面单词首字母大写。函数表达式: var demo = function(){ document.write (‘a’); }2.组成形式:形参、实参形式参数 -- 实参function sum (a,b,c,d){if(sum...原创 2018-07-28 10:31:48 · 669 阅读 · 0 评论 -
JavaScript 闭包
闭包定义:当内部函数被保存在外部时,将会生成闭包。理解 : 有权访问另一个函数作用域内变量的函数都是闭包。缺点:闭包会导致原有作用域链不释放,造成内存泄漏。作用:实现公有变量 eg:函数累加器可以做到缓存 eg:eater可以实现封装,属性私有化 eg:Person();模块化开发,防止污染全局变量 理解过程:计数器困境设想下如果你想统计一些数值,...原创 2018-07-28 10:32:39 · 280 阅读 · 0 评论 -
JavaScript 预编译
预编译预编译前奏:imply global 暗示全局变量:即任何变量,如果变量未经声明就赋值,此变量就为全局变量所有。 eg:a = 123; eg:var a = b = 123;一切声明的全局变量,全是window的属性。 eg:var a = 123;===>window.a = 123;引例:<script type = "text/java...原创 2018-07-28 10:34:05 · 318 阅读 · 0 评论 -
JavaScript 构造函数
对象对对象的属性增删改查:增:mrDeng.wife = “xiaoliu” 直接写。.属性 = “” 删:delete mrDeng.name 就直接把名字删了 改:mrDeng.wife = “xiaoliu” ,换双引号里面的属性 查:console.lgo(mrDeng.属性);对象的创建方法:1.var obj = { } planObject 对象字面...原创 2018-07-28 10:37:07 · 329 阅读 · 0 评论 -
JavaScript 原型、原型链
原型定义:原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。原型也是对象。利用原型特点和概念,可以提取共有属性。对象如何查看原型 –&amp;gt; 隐式属性_ _ proto _ _ _ _ proto _ _是函数里面的隐式属性,就像一个指针,指向函数的原型(祖先),若果改变它,那么原型将会改变,对应的,继承...原创 2018-07-28 10:38:55 · 308 阅读 · 0 评论 -
JavaScript call、apply
call/apply1.功能:改变this指向 2.不同:传参列表不同call: Person(); == Person.call(); 执行起来是没有区别的。使用Person.call(替代名),可以将原函数的所有this替换成obj传参的规则: Person.call(obj,’cheng’,300)中,第一个为替换名,从第二开始为第一个实参。使用示例:<...原创 2018-07-28 10:39:59 · 240 阅读 · 0 评论 -
JavaScript 继承
继承发展史1.传统形式 –>原型链 - 过多继承了没用的东西 2.借用构造函数 –>call/apply - 不能继承借用构造函数的原型,原型还是自己的 - 每次构造函数都要多走一个函数,造成运行复杂 3.共享原型 - 不能随便改动自己的原型,不能实现自己个性化的原型 示例:<script type = "text/javascript"> ...原创 2018-07-28 10:41:52 · 259 阅读 · 0 评论 -
JavaScript 对象及其枚举
对象的枚举for in循环 hasOwnProperty 操作符in 操作符instanceof 操作符1.遍历整个对象属性的方法:for(var prop in obj) { //表示在obj里面,有多少个prop就循环多少圈,prop可以换名字 console.log(prop + &amp;amp;quot;&amp;amp;quot; + typeof(prop)) ;}原创 2018-07-28 10:42:42 · 1416 阅读 · 0 评论 -
JavaScript arguments的理解、属性、及应用
arguments(类数组对象):当我们在js中在调用一个函数的时候,我们经常会给这个函数传递一些参数,js把传入到这个函数的所有参数变成一个类数组存储在arguments里面。接下来我们具体看看例子:<script type="text/javascript">function exam() { console.log(arguments);}exam(1,...原创 2018-08-01 11:01:15 · 325 阅读 · 0 评论 -
JavaScript 克隆(根据数据类型的不同选择克隆方式)
克隆在JavaScript如何把一个对象的属性和方法完完整整的搬过来到另一个空对象身上,对于继承的使用方法不能完成上述操作,所以我们开始另一种方法—-克隆。在Javascript里,如果克隆对象是基本类型,我们直接赋值就可以了:<script type = "text/javascript"> var sStr = "abc"; var cStr ...原创 2018-08-01 11:04:41 · 542 阅读 · 0 评论