![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaScript
文章平均质量分 61
github_34514750
这个作者很懒,什么都没留下…
展开
-
js--NodeList转换成数组的方法
<!-- 一般用此方法转换成数组,但是在IE8及更早版本吧nodelist实现成一个COM对象,不能用js对象的方法,所以IE8之前需要枚举所有对象 -->Array.prototype.slice.call(someNode.childNodes,0);<!-- 通用的方法 -->function convertListToArray(nodes) { var array = null原创 2016-11-01 11:22:03 · 7762 阅读 · 0 评论 -
js--事件--通用的事件侦听器函数
1.事件流(事件捕获和事件冒泡) http://blog.csdn.net/github_34514750/article/details/53067077 2.事件处理程序 http://blog.csdn.net/github_34514750/article/details/53083973 3.事件对象 http://blog.csdn.net/github_345147原创 2016-11-08 16:45:13 · 6585 阅读 · 2 评论 -
js--事件--事件流
关于事件写了一系列文章1.事件流(事件捕获和事件冒泡)2.事件循环(event loop)3.事件代理((event delegation)1.事件流(事件冒泡和事件捕获)事件流描述的是从页面中接受事件的顺序。事件冒泡机制:当一个元素接收到事件的时候,会把他接收到的所有事件传播给他的父级,一直到顶层window事件捕获机制:当触发目标元素时,会从目标元素的最顶层的祖先元素事件往下执行到目标元素为止。原创 2016-11-07 16:01:03 · 1140 阅读 · 0 评论 -
js--事件--事件循环
关于事件写了一系列文章1.事件流(事件捕获和事件冒泡) http://blog.csdn.net/github_34514750/article/details/53067077 2.事件循环(event loop) 本文介绍事件循环 3.事件代理((event delegation)1.js是单线程的?什么是同步异步?什么同步异步函数?什么是异步过程?什么是消息队列和事件循环 (event原创 2016-11-07 16:03:24 · 955 阅读 · 0 评论 -
js--事件--事件代理
1.事件流(事件捕获和事件冒泡) http://blog.csdn.net/github_34514750/article/details/53067077 2.事件循环(event loop) http://blog.csdn.net/github_34514750/article/details/53067106 3.事件代理((event delegation)1.请解释事件代理 (e原创 2016-11-07 16:06:04 · 1357 阅读 · 0 评论 -
js--事件--事件处理程序
关于事件写了一系列文章1.事件流(事件捕获和事件冒泡) http://blog.csdn.net/github_34514750/article/details/53067077 2.事件处理程序 本文介绍事件处理程序 3.事件对象 4.通用的事件侦听器函数 5.事件循环(event loop) http://blog.csdn.net/github_34514750/article/原创 2016-11-08 16:42:29 · 591 阅读 · 0 评论 -
js--事件--事件对象
关于事件写了一系列文章 1.事件流(事件捕获和事件冒泡) http://blog.csdn.net/github_34514750/article/details/53067077 2.事件处理程序 http://blog.csdn.net/github_34514750/article/details/53083973 3.事件对象 4.通用的事件侦听器函数 5.事件循环(e原创 2016-11-08 16:44:10 · 654 阅读 · 0 评论 -
js--函数--IIFE(立即调用函数)
1.函数和立即调用的函数表达式Immediately-Invoked Function Expression (IIFE)?1.创建函数的方法创建函数的方法是函数声明和函数表达式函数声明function 函数名称 (参数:可选){ 函数体 }function foo(){} // 声明,因为它是程序的一部分(function(){ function bar(){} // 声明,因为它是函数体原创 2016-10-21 15:02:32 · 1269 阅读 · 0 评论 -
js--函数--3.函数属性和方法
函数部分分为几个部分: 1.介绍函数定义的方法 http://blog.csdn.net/github_34514750/article/details/51049908 2.介绍函数内部的对象 http://blog.csdn.net/github_34514750/article/details/51336321 3.本篇介绍函数属性和方法1.函数属性length和proto原创 2016-05-07 10:17:19 · 586 阅读 · 0 评论 -
js--函数--2.函数内部对象arguments和this
函数部分分为几个部分: 1.介绍函数定义的方法 http://blog.csdn.net/github_34514750/article/details/51049908 2.本篇介绍函数内部的对象 3.函数属性和方法1.函数内部两个对象arguments和this1.1.arguments对象1.arguments是一个类数组对象,包含传入函数中的所有参数 2.此对象还有calle原创 2016-05-07 09:42:47 · 943 阅读 · 0 评论 -
js--函数--定义函数的方法
1.定义函数的方式定义函数有两种方式:函数声明和函数表达式1.1.函数声明function FunctionName(arg0,arg1,arg2){ //函数体}函数声明的特征 具有函数声明提升的特性,意思是在执行代码之前会先读取函数声明。意味着可以把函数声明放在调用它的语句后面。sayName();function sayName(){ alert("Name");}1.原创 2016-04-03 13:11:02 · 874 阅读 · 0 评论 -
js--this
this是执行上下文的一个属性,this值在 进入 上下文时确定,并且在上下文运行期间永久不变。也就是this 是动态绑定,或称为运行期绑定的(executionContextObj = { variableObject: { /* 函数中的arguments对象, 参数, 内部的变量以及函数声明 */ }, scopeChain: { /* variableObject 以及所有父执行原创 2016-10-25 13:23:49 · 268 阅读 · 0 评论 -
js--小demo--字符串长度判断,超出进行自动截取(支持中文)
// 若真是长度大于10,也就是中文5个if (GetLength(c.label) > 10) { var label = cutstr(c.label, 10); $item.find('.text').text(label);}else { $item.find('.text').text(c.label);}var GetLength = function原创 2016-10-19 16:19:08 · 2638 阅读 · 0 评论 -
js--闭包,作用域链
1.回顾执行环境及作用域1.1执行环境execution context执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为。 变量对象: 每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在整个对象中。1.2全局执行环境全局执行环境是最外围的执行环境,在web浏览器中,全局执行环境被认为是window对象。1.3变量的作用域全局变量和局部变量var n=999原创 2016-04-04 20:45:50 · 583 阅读 · 1 评论 -
浏览器多线程和js单线程
0.前言开发过程中遇到js线程和ui渲染线程互斥问题。导致ui无法正常更新等问题。这些问题的根源就是因为浏览器的多线程和js的单线程引起的。看本篇博客之前,应该充分理解消息队列,事件循环,同步异步任务等概念。 这些概念以前都知道,也了解多线程的概念。但是当遇到问题的时候,这些东西都被抛到脑后,值得深思。1.知识点补充js单线程js运作在浏览器中,是单线程的,js代码始终在一个线程上执行,此线程被称原创 2017-08-02 15:13:11 · 14810 阅读 · 4 评论 -
js--数据结构--树
1.树的构造函数1.1Node属性: data存储的值 parent指向节点的父节点 children指向许多孩子节点 Node构造函数:function Node(data) { this.data = data; this.parent = null; this.children = [];}1.2Tree属性和方法: _root:指向一棵树的根节点 tra原创 2016-04-08 22:18:49 · 2866 阅读 · 1 评论 -
js--数据结构--链表
链表是一种线性结构,每一个节点中,储存了下一个节点的指针。1.链表的构造函数,属性是头指针和长度 2.节点的构造函数,属性是element值和指向下个节点的指针 3.原型方法 append(element): 添加元素到链表尾部. insert(position,element): 向单向链表中某个位置插入元素 indexOf(element): 寻找某个元素在单向原创 2017-03-26 18:39:43 · 560 阅读 · 0 评论 -
js--ajax和跨域
1.ajaxajax技术核心是XMLHttpRequest对象,这种技术就是无须刷新页面即可从服务器取得数据,但不一定是xml数据。2.XMLHttpRequest对象原创 2016-05-01 16:25:51 · 1128 阅读 · 0 评论 -
js--ajax和跨域
1.Ajax 是什么? 如何创建一个Ajax?请尽可能详尽的解释 Ajax 的工作原理?使用 Ajax 都有哪些优劣?ajax是什么1.AJAX = 异步 JavaScript 和 XML。 2.AJAX 是一种用于创建快速动态网页的技术。 3.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。XMLHttpR原创 2017-03-04 21:03:58 · 735 阅读 · 0 评论 -
js--引用类型Array--3.数组简单复制和深度复制
js数组也是很重要的一块,所以准备对数组的操作等写一个系列。 1.第一部分是二元数组的基础知识。 http://blog.csdn.net/github_34514750/article/details/51049935 2.第二部分讲解数组的几种合并方法优劣比较 http://blog.csdn.net/github_34514750/article/details/51320982原创 2017-02-23 18:33:23 · 10420 阅读 · 1 评论 -
js--引用类型Array--1.Array的基础知识
1.检测数组value instanceof Array但若在两个以上不同的全局执行环境下,会存在两个以上版本的Array构造函数,当一个框架向另外一个框架传入数组时,传入的数组和第二个框架中原生创建的数组分别具有不同的构造函数,从而会出错。 Array.isArray(value)这个是ECMAScript5新增的方法,此方法目的是最终确定某个值是否为数组,不管是在哪个全局执行环境中创建2.原创 2016-04-03 13:19:35 · 2129 阅读 · 0 评论 -
js--引用类型Array--2.数组合并几种方法
js数组也是很重要的一块,所以准备对数组的操作等写一个系列。 1.第一部分是二元数组的基础知识。 http://blog.csdn.net/github_34514750/article/details/51049935 2.本部分讲解数组的几种合并方法优劣比较根据第一部分的基础知识,我们最容易想到的是concat、push、unshift1.concat合并数组concat是生成一个新数原创 2016-05-05 10:49:15 · 8859 阅读 · 0 评论 -
js--引用类型--RegExp
js引用类型之RegExp正则表达式表示方法 模式 + 3 个标志的组合体。 即:var expression = /pattern/flags; flag:g,i,m三个标志之一(全局模式,不缺分大小写模式,多行模式)定义方式 1.字面量定义:var pattern1 = /[bc]at/i; 2.构造函数定义:var pattern1 = new RegExp(原创 2016-04-02 11:43:55 · 462 阅读 · 0 评论 -
js--客户端检测
客户端检测–客户端检测的三种方法:能力检测,怪癖检测,用户代理检测。浏览器普遍存在的不一致性问题,用各种客户端检测方法,来突破或者规避种种局限性。但是,只要能找到更通用的方法,就应该采用。不到万不得已,不要使用客户端检测。能力检测–人们广泛接受的客户端检测形式就是能力检测不是识别特定的浏览器,是识别浏览器的能力。1.先检测达成目的最常用的特性,可以保证代码最优 2.测试实际要用到的特性,而不是测试这原创 2016-11-22 17:24:04 · 386 阅读 · 0 评论 -
js--DOM
1.DOM的作用DOM是针对HTML和XML文档的API,允许开发人员添加,移除和修改页面的某一部分。DOM为web文档创建带有层级的结果,这些层级是通过node节点组成2.Node接口–12种节点DOM1级定义了一个 Node接口 ,该接口将DOM中的所有节点类型实现,总共有12种节点。常用的有元素节点,属性节点,文本节点,注释节点,文档节点ELEMENT_NODE(1),ATTRIBUTE_NO原创 2016-11-01 11:21:14 · 251 阅读 · 0 评论 -
js--DOM2--元素遍历
1.DOM2 级遍历?DOM2 级遍历DOM结构的类型:NodeIterator和TreeWalker,两者都是深度优先的DOM结构遍历1.NodeIterator–较简单使用document.createNodeIterator()方法创建NodeIterator的新实例,可以接收的4个参数,创建的NodeIterator的新实例中一个内部指针指向根节点1.root 作为搜索起点的树中的节点2.原创 2016-11-04 15:39:58 · 1207 阅读 · 0 评论 -
js--作用域链
作用域链作用域链就是内部上下文的变量对象VO的列表,作用域链用来检索上下文出现的标识符,从而保证有序访问所有变量和函数。一个作用域链包括父级变量对象(variable object)(作用域链的顶部)、函数自身变量VO和活动对象(activation object)。当查找标识符的时候,会从作用域链的活动对象部分开始查找,然后(如果标识符没有在活动对象中找到)查找作用域链的顶部,循环往复,就像作用域原创 2016-10-24 16:25:17 · 293 阅读 · 0 评论 -
js--异步编程的4种方法
你可能知道,Javascript语言的执行环境是”单线程”(single thread)。所谓”单线程”,就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascri转载 2016-05-05 09:09:54 · 362 阅读 · 0 评论 -
js--严格模式 'use strict'
use strict:严格模式除了正常运行模式,ECMAScript5添加了第二种运行模式:严格模式,这种模式让js在更严格的条件下运行。使用严格模式的区别1.消除js语法的一些不合理,不严谨之处,比如不能用with,也不能在意外的情况下给全局变量赋值2.消除代码中的一些不安全之处,保证代码的安全比如:禁止this关键字指向全局对象function f(){ return !this;原创 2016-09-16 21:12:54 · 470 阅读 · 0 评论 -
js--eval
语法 eval(string)参数说明 该方法只接受原始字符串作为参数,若string参数不是原始字符串,则不做任何改变地返回。因此,不要为此函数传递String对象来作为参数函数意义 eval其实就是把一段字符串传递给JS解释器,由JS解释器将这段字符串解释成JS代码并执行例子<script type="text/javascript"> eval("alert(1+1)"); //原创 2016-09-15 10:54:46 · 277 阅读 · 0 评论 -
js--笔试题2
1.What is the result of this expression? (or multiple ones)题目:3.toString()3..toString()3...toString()答案: error, “3”, error 解析: 虽然JavaScript会在调用方法时对原始值进行包装,但是这个点是小数点呢、还是方法调用的点呢,于是乎第一个就是error了,因为Java原创 2016-05-11 21:47:24 · 377 阅读 · 0 评论 -
js--笔试题1
1.What is the result of this expression? (or multiple ones)题目:[typeof null, null instanceof Object]答案:["object",false]解析: ES的基本数据类型有Undefined,Null,Boolean,Number,String ES的复杂数据类型有Object。 typeof操作符是检原创 2016-05-11 15:46:45 · 2244 阅读 · 0 评论 -
js--面向对象--构造函数的继承
js面向对象部分分为几个部分: 1.本文介绍面向对象–封装 http://blog.csdn.net/github_34514750/article/details/51044272 2.面向对象–构造函数的继承 3.面向对象–非构造函数的继承1.apply实现构造函数的继承function Animal(){ this.species = "动物";}function Ca原创 2016-05-07 11:01:24 · 381 阅读 · 0 评论 -
js--面向对象--非构造函数的继承
js面向对象部分分为几个部分: 1.面向对象–封装 http://blog.csdn.net/github_34514750/article/details/51044272 2.面向对象–构造函数的继承 http://blog.csdn.net/github_34514750/article/details/51336839 3.本文介绍面向对象–非构造函数的继承1.object原创 2016-05-07 11:31:12 · 485 阅读 · 0 评论 -
jquery中attr和prop的区别
jquery中attr和prop的区别 在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单: •对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。 •对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。上面的描述也许有转载 2016-04-28 16:51:49 · 289 阅读 · 0 评论 -
js--DOM--3.DOM2和DOM3
1.DOM2和DOM3的目的DOM1级主要定义HTML和XML文档的底层结构 DOM2和DOM3级则在这个结构的基础上引入了更多的交互能力 DOM2和DOM3级目的:扩展DOM API DOM2:没有引入新类型,只在DOM1级的基础上通过增加新方法和属性来增强既有类型 DOM3:增强了既有类型,也引入了一些新类型原创 2016-04-22 21:14:44 · 306 阅读 · 0 评论 -
js--DOM--2.DOM扩展
1.DOM扩展之选择器API选择器API就是根据CSS选择器选择与某个模式匹配的DOM元素1.1.querySelector()方法接收值:接收一个CSS选择器 返回值:返回与该模式匹配的第一个元素1.2.querySelectorAll()方法接收值:接收一个CSS选择器 返回值:返回与该模式匹配的所有元素,是一个NodeList实例1.3.matchesSelector()方法接收值:接收一原创 2016-04-22 20:56:23 · 335 阅读 · 0 评论 -
js--编写可维护的JavaScript-2.编程实践
第五章:UI层的松耦合将css从JavaScript中抽离 js改变样式常会直接修改DOM元素的style属性,但是其实样式最好尽可能的保持在CSS中,最好操作CSS的className// 不好的写法element.style.color = "red";// 好的写法-原生方法element.className += "reveal";// 好得写法-HTML5element.clas原创 2016-04-22 17:34:59 · 556 阅读 · 0 评论 -
js--编写可维护的JavaScript-1.编程风格
阅读编写可维护的JavaScript一书,写了一些笔记 1.本篇文章:编程风格 2.编程实践 http://blog.csdn.net/github_34514750/article/details/51221995第一章:基本的格式化1.缩进层次:每个层次缩进一个tab键 2.语句结尾记得加上分号,虽然js有ASI(automatic semicolon insertion)自动分号机制,原创 2016-04-13 21:32:17 · 585 阅读 · 0 评论 -
js--JSON
1.什么是JSONJSON:JavaScript Object Notation,javascript对象表示法; JSON利用javascript的模式来表示结构化数据,但JSON不从属于javascript,只是一种数据格式,很多语言都有针对JSON的解析器和序列化器 JSON流行的原因 1.和js语法类似,容易理解 2.可以将JSON数据结构解析成有用的js对象2.JSON语法JSON原创 2016-04-13 16:27:48 · 87 阅读 · 0 评论