13.x 事件总结有必要限制一个页面中事件处理程序的数量 建立在事件冒泡机制上的事件委托技术,可以有效地减少事件处理程序的数量 建议在浏览器卸载页面之前移除页面中的所有事件处理程序可以使用 Javascript 在浏览器中模拟事件,IE 有一定的特殊性。
编者注:我们发现了有趣的系列文章《30天学习30种新技术》,正在翻译,一天一篇更新,年终礼包。下面是第 26 天的内容。今天的《30天学习30种新技术》挑战,我打算学习一个源自Mozilla的很酷的JavaScript库——TogetherJS。几个月前,我写过一个面向Java 8的在线Java编辑器。今天我将学习如何使用TogetherJS来给这个应用增加协作功能。TogetherJS是什么? TogetherJS是一个开源的HTML5 Javascript库,提供了用户间的即时协作功能。...
转自:https://www.cnblogs.com/digdeep/p/4607131.html Javascript模块化编程(一):模块的写法 随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂。 网页越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等等......开发者不得不使用软件工程的方法,管理网页的业务逻辑。 Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以...
最近和做技术的朋友聊天的时候,发现自己居然不能将函数式编程思想讲清楚,于是做一次复习 一、函数是“一等公民” 常常都能听到这么一句话:在 JavaScript 中,函数是“一等公民”,这句话到底意味着什么? 在编程语言中,一等公民可以作为函数参数,可以作为函数返回值,也可以赋值给变量 —— Christopher Strachey 其实在很多传统语言中( 比如 C,JAVA 8 以前 )函数只可以声明和调用,无法像字符串一样作为参数使用 而 Jav...
javascript文件变量同名有时会带来变量覆盖的问题,如以下代码:same.html: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> <h2 style="text-align: center">变量函数同名带来问题</h2> <div style="text-align: center" id="output"></div> <!--此javascript加载顺序,将会影响网页功能是否正确--> <script src="sameName.js"></script> <script>var result=document.getEle...
面向对象 面向对象是一种编程思想,它是以对象数据类型为导向的一种编程思想;JS中有句话 万物皆对象JS c++ PHP java … 面向对象开发 (OOP) object oriented programming 面向对象的四种设计模式单例模式工厂模式构造函数模式原型模式1. 单例模式单例模式 调用自己的属性时的方法单例模式 每次都要重新 var 个对象;属于手工模式对象名.属性名this调用;需要注意 this 的指向问题调用其他人的属性 我们只能通过 对象名.属性名命...
代码调试console.log(123) //纯粹打印显示 console.dir(Array) //纯粹打印显示 console.trace() //向标准错误流输出当前的调用栈。 console.error(123) //输出的log前有个黄色的图标 console.warn(123) //输出的log前有个红色的图标 console.time(A) for(let i=0; i< 10000; i++){//这里放函数代码 } console.timeEnd(A) //这里会打印出中间执行的代码花费了多长时间 if判断多个值不佳的写法 if(val === a || val...
首先很遗憾的一点是,“PHP虽然是最好的语言”,但是它不是最流行的语言。同时对不起的还有刚刚在4月TIOBE编程语言排行榜上上榜的各个语言:你们都很棒,但是你们都担当不了这个大任。 在开始之前,我先说一下我常用的三个语言:Java、JavaScript、Python。 Java,让我学到了很多架构层级的知识,这一点可以参考我之前写的架构相关文档。虽然我一点儿也不喜欢这个语言,但是它真的很棒。 Python,它真的足够简单,以至于我喜欢拿它...
这是多益网络前端的一道笔试题,这里不得不吐槽一下它的笔试系统是真的垃圾,用习惯牛客网的做题系统,表示这次笔试做的非常难受。 下面分享我的做法 思路:传入两个字符串,先比较谁长谁短,遍历短的字符串,两个for循环,外层循环从最大长度开始遍历,长度逐个递减,内层循环从短字符串的最左边开始截取最大长度的字符串,检查截取的字符串是否在长的字符串里面, 直到找到匹配的字符串 代码:function findLongestCommonStr(s1...
1、ES6提出了两个新的声明变量的命令:let和const。其中,let完全可以取代var,因为两者语义相同,而且let没有副作用。 2、var命令存在变量提升效用,let命令没有这个问题。建议不再使用var命令,而是使用let命令取代。 3、在let和const之间,建议优先使用const,尤其是在全局环境,不应该设置变量,只应设置常量。 JavaScript 编译器会对const进行优化,所以多使用const,有利于提供程序的运行效率。所有的函数都应该设置为常量。...
JavaScript基础第01天 1. 编程语言 编程语言:可以通过类似于人类语言的“语言”来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。编程语言是用来控制计算机的一系列指令,它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守。如今通用的编程语言有两种形式:汇编语言和高级语言。语言类型 说明汇编语言 汇编语言和机器语言实质是相同的,都是直接对硬件操作,只不过指令采...
一、字符串的创建方式: 1.字面量 var str = "hello"; console.log(str);2.构造函数var str = new String("world");console.log(str);//构造函数:字符对象,通过new执行字符构造函数得到,虽然长得是对象的外表,但是他还是字符的内心(作为一个正常的字符来使用)二、字符串方法概括方法名 功能replace () 替换第一个符合的子字符串slice(m,n) 截取:从索引为m截取到索引为n(不含n)substring(m,n) 截取:从索引为m截取到索引...
来源:第七章 动态创建标记 innerHTML: HTML页面建立空白div:<div id="testdiv"> </div> <script type="text/javascript" src="scripts/sample.js"></script>sample.js里写入innerHTML:window.onload = function() { //页面加载时运行该函数;var testdiv = document.getElementById("testdiv"); //定义函数(获取div);testdiv.innerHTML = "<p>我是被innerHTML强势插入的的一段HTML代码</p>" //div变量里使用innerHTML插...
一、构造函数 二、原型链 三、回调函数 四、事件循环 五、异步编程 六、浏览器储存 七、跨域 八、Webpack打包 一、构造函数 1 定义:当任意一个普通函数用于创建一类对象时,它就被称作构造函数。在 JavaScript 中是指用 new 关键字来调用的函数 2 执行流程:(1)当以 new 关键字调用时,会创建一个新的内存空间 (2)函数体内部的 this 指向该内存 (3)执行函数体内的代码 (4)默认返回 this3 在 ES6 中通过class定义的类 和通...
day02 jQuery?jQuery与js的转换 链式编程?jQuery:?CSS?选择器?筛选?属性?效果?核心? ? 一.jQuery对象和js对象的相互转换 ? ? 1.jQuery转成js:?去掉$() ?? ?? ? 方式一:?$('li')[0]?? ??? ?? ? ?? ??? ??? ??? ??? ??? ??? ?? ? //直接加下标 ?? ?? ? 方式二:?$('li').get(0)?? ?? ? ?? ??? ??? ??? ??? ??? ??? ?? ? //使用jQuery对象的get()方法 ? ? 2.js转成jQuery:?加$() ?? ??? ?var item = document.getElementsByTagName('li...