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中,没有方法(函数)重载的概念 ...
随机推荐
- Python 之数据类型
# Numbers(数字) # int(有符号整型) # long(长整型[也可以代表八进制和十六进制]) # float(浮点型) # complex(复数) # String(字符串) # Lis ...
- 【第四课】kaggle案例分析四
Evernote Export 比赛题目介绍 facebook想要准确的知道用户登录的地点,从而可以为用户提供更准确的服务 为了比赛,facebook创建了一个虚拟世界地图,地图面积为100km2,其 ...
- [luogu2148 SDOI2009] E&D (博弈论)
传送门 Solution 我们知道当SG不为0则先手必胜,然后就可以打表了 ̄▽ ̄ Code //By Menteur_Hxy #include <cmath> #include <c ...
- Vue动态组件&异步组件
在动态组件上使用keep-alive 我们之前曾经在一个多标签的界面中使用is特性来切换不同的组件: Vue.js的动态组件模板 <component v-bind:is="curre ...
- 1.2 Java“白皮书”的关键术语
Java的设计者已经编写了颇有影响力的“白皮书”,来解释设计的初衷以及完成的情况,并且发布了一个简短的摘要.这个摘要用下面11个关键术语进行组织: 简单性 面向对象 分布式 健壮性 安全性 体 ...
- Grails,应该不错
就当学习英文,也慢慢看看啦..
- [bzoj2989]数列_KD-Tree_旋转坐标系
数列 bzoj-2989 题目大意:题目链接. 注释:略. 想法:显然,我们用x和a[x]两个值建立笛卡尔坐标系. 两个点之间的距离为曼哈顿距离. 修改操作就是插入... 查询操作就是查询一个点周围的 ...
- ELECTRON新增模块的方法
因为electron和node.js用的V8版本不一致,所以直接使用npm安装的模块可能在electron中不可用,特别是使用c.c++开发的模块.官方的说明:https://github.com/e ...
- HPC2013小节
对于高性能计算,三个分支能耗.高性能.容错.下面我对会议的主要内容作一个小节,很多问题也是不求甚解. 下面针对大会内容,我主要总结如下,会有了解不周的地方,欢迎讨论:大会主要报告分成3个方向,1.基础 ...
- Android中@+id和@id的差别
Android中的组件须要用一个int类型的值来表示.这个值也就是组件标签中的id属性值. id属性仅仅能接受资源类型的值,也就是必须以@开头的值,比如,@id/abc.@+id/xyz等. 假设在 ...