js学习笔记
文章平均质量分 62
JaniceDong
勤能补拙
展开
-
闭包
/* 当在函数内部定义了其他函数时,就创建了闭包。闭包有权访问包含函数内部的所有变量,原理如下: * 在后台执行环境中,闭包的作用域链包含着它自己的作用域、包含函数的作用域和全局作用域 * 通常,函数的作用域及其所有变量都会在函数执行结束后被销毁 * 但是,当函数返回了一个闭包时,这个函数的作用域将会一直在内存中保存到闭包不存在为止。*/ /*使用闭包可以在java原创 2017-07-31 11:50:21 · 250 阅读 · 0 评论 -
使用.添加属性和使用setattribute的区别
div id="ht">HTML5div>span id="html4">HTML4span>script>var sp = document.getElementsByTagName("span")[0];sp.id = "html5";console.dir(sp);var ht = document.getElementById("ht");ht.index =原创 2017-09-25 10:40:02 · 6153 阅读 · 0 评论 -
字符串作为数组下标
首先Array是从Object那里继承下。它具备Object所有的功能和特性。下面是Object的情况:新建: var object = new Object(); 增加: object[strIndex ] = value; (strIndex 为string) 删除: delete object[strIndex ]; 遍历: for (原创 2017-09-25 11:02:50 · 6213 阅读 · 0 评论 -
JavaScript获取DOM元素
1. 通过顶层document节点获取:(1)document.getElementById_x(elementId):该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法。如果页面上含有多个相同id的节点,那么只返回第一个节点。如今,已经出现了如prototype、Mootools等多个JavaScript库,它们提供了更简便的方法:$(id),参数仍然是节点的id原创 2017-09-25 10:34:53 · 285 阅读 · 0 评论 -
深入理解 函数、匿名函数、自执行函数
原文地址:http://blog.csdn.net/xixiruyiruyi/article/details/54894404基础概念:定义函数的方式 一般定义函数有两种方式: 1:函数的声明 2:函数表达式 函数的声明 如下代码就是函数声明的代码结构:[javascript] view plain copy转载 2017-08-24 11:55:05 · 338 阅读 · 0 评论 -
contextmenu事件
在我的js学习笔记里面,写过跨浏览器的事件处理程序和跨浏览器的事件对象,使用它们处理事件封装的方法,今天写一下HTML5中的contextmenu事件。 菜单一 菜单二 菜单三 EventUtil.addHandler(window,"load", function (ev原创 2017-09-05 10:59:34 · 5551 阅读 · 0 评论 -
函数递归
递归函数是在一个函数通过名字调用自身的情况下构成的,如下所示的一个经典的阶乘函数 function factorial(num){ if (num < 1){ return 1; }else{ return num * factorial(num - 1); } } var anotherFactorial = factorial原创 2017-07-28 10:22:21 · 295 阅读 · 0 评论 -
跨浏览器的事件对象
虽然DOM和IE中的event对象不同,但是基于他们之间的相似性依旧可以拿出跨浏览器的方案来。IE中的event对象的全部信息和方法DOM对象中都有,只不过实现方式不一样。不过这种对应关系让实现两种事件模型之间的映射非常容易。可以对前面介绍的EventUtil对象加以增强,添加如下方法以求同存异。var EventUtil = { addHandler:function(element,t原创 2017-08-18 16:49:33 · 267 阅读 · 0 评论 -
原型与操作符
//Object.getPrototypeOf(person1);//取的person1对象的原型 // Person.prototype.isPrototypeOf(person1);//判断person1的__proto__是否指向Person.prototype(即person1的原型) person1.hasOwnProperty("name"原创 2017-07-26 14:33:41 · 481 阅读 · 1 评论 -
创建对象的几种方式
/*一、工厂模式*/ /*工厂模式解决了创建相似对象的问题,但却没有解决对象识别的问题(怎样知道一个对象的类型)*/ function createPerson(name,age,job){ var o = new Object(); o.name = name; o.age = age; o.job = job;原创 2017-07-25 18:00:47 · 460 阅读 · 0 评论 -
BOM中location对象
location是最有用的BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。事实上,location对象是一个很特别的对象,因为它既是window对象的属性,也是document对象的属性;换句话说,window.location和document.location引用的是同一个对象。 console.log(location.hash);//返回URL中的has原创 2017-08-02 14:57:45 · 537 阅读 · 1 评论 -
javascript中DOM扩展之insertAdjacentHTML()方法
插入标记的方法,除了innerHTML和outHTML之外,H5新增了一个插入标记方式为insertAdjacentHTML()方法。这个方法最早在IE中出现。接收两个参数:插入位置和要插入的HTML文本。第一个参数必须是下列值之一“beforebegin”:在当前元素之前插入一个紧邻的同辈元素;“afterbegin”:在当前元素之下插入一个新的子元素或者在第一个子元素之前再插入原创 2017-08-09 10:16:52 · 653 阅读 · 0 评论 -
跨浏览器的事件处理程序
点击进行交互/*跨浏览器的事件处理程序*/ var EventUtil = { addHandler:function(element,type,handler){ if(element.addEventListener){//检测是否存在DOM2级方法, element.addEventListener(type,handler,false);//如果存在DOM2级方法,原创 2017-08-16 10:43:04 · 299 阅读 · 0 评论 -
实现键盘数字0-9的随机排列
html 1 2 3 4 5 6 7 8 9css*{ margin:0; padding: 0; } #content{ width: 500px; height: 500px;原创 2017-11-17 15:21:06 · 2790 阅读 · 0 评论