JavaScript学习杂记
1.DOM层级:document(document) --> doctype,documentElement(html) --> head,body(body).
2.offset, client,scroll和cssStyle中,只有scrolltop,scrollleft和cssstyle可写,其他都是只读。offset是指元素相对于offsetparent的尺寸,client是元素内容区域的尺寸。scroll是指有滚动条的元素相对于自己的尺寸。其中clientX,clientY分别指触发事件时候,事件对象位于视口的位置(例如鼠标点击处)pageX、pageY(IE8及更低版本不支持)指事件对象位于整个页面的位置(包括被卷起的不可见部分)。

3.xxx.style.xxx只能获取html标签内“style="..."”的css样式,甚至连内嵌style标签里面的样式都不能读取。
4.关于function。浏览器在运行代码前会先搜集所有的function(){},所以函数可以在被定义之前使用,但通过var a = function xxx(){}形式定义的函数不能在定义之前使用。
//一般来说,return语句之后的函数内部是不执行的,但由于
//所有的function都是提前搜集的,所以后一个f会覆盖前一个f
function outer(){
function f(){return 1;}
return f();
function f(){return 2;}
}
//返回2
outer(); /*==================*/
//正确,返回1
example();
//出错,example2未定义
example2();
function example(){return 1;}
var a = function example2(){return 2;}
5.IE8及以下的浏览器的attachEvent方法中的this指向的是window。而不像标准的addEventListener方法那样指向当前元素。
6.event.target指的是最初被按下的元素的空白部分。低版本IE浏览器的event对象是window的属性,即window.event。IE中的event.srcElement对应标准DOM的event.target,event.to(from)Element对应event.relatedTarget,event.returnValue=false对应event.preventDefault()。event.cancelBubble=true对应event.stopPropagation()。
7.IE8以下浏览器不会把空白字符解析为Node。
8.表单提交时默认的content-type是x-www-form-urlencoded,设置了x-www-form-urlencoded请求头的POST请求,在服务器端处理时可以直接使用_POST[]来获取。如果没有设置该请求头,则服务器端获取变量必须用$GLOBALS['HTTP_RAW_POST_DATA']来获取。即通过ajax来POST数据时,需要手动设置content-type为x-www-form-urlencoded,以便模拟表单提交。
9.position不为static的元素是没有offset值的,因为它本身已经成了offsetParent
JavaScript学习杂记的更多相关文章
- JavaScript学习(一) —— 环境搭建与JavaScript初探
1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...
- Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”
Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...
- JavaScript学习(3):函数式编程
在这篇文章里,我们讨论函数式编程. 什么是函数式编程?根据百度百科的描述,“函数式编程是种编程典范,它将电脑运算视为函数的计算.函数编程语言最重要的基础是 λ 演算(lambda calculus). ...
- JavaScript学习(2):对象、集合以及错误处理
在这篇文章里,我们讨论一下JavaScript中的对象.数组以及错误处理. 1. 对象 对象是JavaScript中的一种基本类型,它内部包含一些属性,我们可以对这些属性进行增删操作. 1.1 属性 ...
- JavaScript学习13 JavaScript中的继承
JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式 ...
- JavaScript学习12 JS中定义对象的几种方式
JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...
- JavaScript学习11 数组排序实例
JavaScript学习11 数组排序实例 数组声明 关于数组对象的声明,以前说过:http://www.cnblogs.com/mengdd/p/3680649.html 数组声明的一种方式: va ...
- JavaScript学习10 JS数据类型、强制类型转换和对象属性
JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...
- JavaScript学习09 函数本质及Function对象深入探索
JavaScript学习09 函数本质及Function对象深入探索 在JavaScript中,函数function就是对象. JS中没有方法重载 在JavaScript中,没有方法(函数)重载的概念 ...
随机推荐
- 轻松理解 Android Binder,只需要读这一篇
在 Android 系统中,Binder 起着非常重要的作用,它是整个系统 IPC 的基石.网上已经有很多文章讲述 Binder 的原理,有的讲的比较浅显,没有触及到关键,有的讲的太过于深入底层,难以 ...
- B+树知识点
B+树介绍 目录 B+树 B+树的插入操作 B+树的删除操作 回到顶部 B+树 B+树和二叉树.平衡二叉树一样,都是经典的数据结构.B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也 ...
- (C/C++学习)10.C++文件流
说明:C++中的文件流分为三种:文件输入流.文件输出流.文件输入/输出流,其对应的类分别为 ifstream.ofstream 和 fstream .由这三个类创建类对象,完成对文件的操作.其中文件的 ...
- Entertainment Box Gym100781E(数据结构+贪心)
Entertainment Box 题意: 有n个节目,每个节目给出开始时间(st)和结束时间(en): 有k个内存条这k个内存条可以同时存储节目.如果节目j的开始时间stj 大于等于节目i的结束时 ...
- models中,字段参数limit_choices_to的用法
这里,在使用 ModelForm 渲染前端页面的前提下,对于 models 中的 ManyToManyField 类型字段会在 ModelForm 中被转化为 ModelMultipleChoiceF ...
- 第二节:numpy之数组切片、数据类型转换、随机数组
- jquery源码分析(七)——事件模块 event(二)
上一章节探讨了事件的一些概念,接下来看下jQuery的事件模块. jQuery对事件的绑定分别有几个API:.bind()/.live()/.delegate()/.on()/click(), 不管是 ...
- 【Codeforces 1114C】Trailing Loves (or L'oeufs?)
[链接] 我是链接,点我呀:) [题意] 问你n!的b进制下末尾的0的个数 [题解] 证明:https://blog.csdn.net/qq_40679299/article/details/8116 ...
- [转] C# 隐藏方法和重写方法
1:方法重写:就是在基类中的方法用virtual关键字来标识,然后在继承类中对该类进行重写 (override),这样基类中的方法在子类中已经被重写了,基类中的方法在子类中已经失去了功能 了.当让基类 ...
- noip模拟赛 时之终末
题目背景 圣乔治:不用拘泥,剩下的时间已不多…… 圣乔治:直呼我的真名—— 丝佩碧雅:圣乔治大人 圣乔治:如今,已无法维持结界,或是抑制深渊的前进 圣乔治:既然如此,我将献上这副身躯,期望最后的战斗 ...