js中对象的一些特性,JSON,scroll家族
一、js中对象的一些特性
对象的动态特性
1、当对象有这个属性时,会对属性的值重写
2、当对象没有这个属性时,会为对象创建一个新属性,并赋值
获得对象的属性的方式
为元素设置DOM0级事件
二、JSON
Javascript Object Notation 即一种轻量级的数据交换格式,我们称之为js对象表示法;使用JSON进行数据传输的优势之一就是轻量,表示法就是流行的
键值对,Key:value。
JSON的 结构:
JSON值的获取:
点语法和中括号,推荐用点语法,可以不用在意属性的是否有引号
JSON数据的循环:
for … in …不但可以遍历JSON,还可以遍历普通的数组:
但是在遍历普通数组的时候,不要使用for … in,因为会慢好多倍。
for(var k in json){
box.style[i]=json[k]
}
三、offset家族
三大家族(offset/scroll/client), 事件对象event
1、 offset家族简介
offset 英文本意:偏移、补偿、位移,js中有一套方便的获取元素尺寸的办法offset家族
offsetWidth和offsetHeight
offsetLeft 和offsetTop
offsetParent 检测父系盒子中带有定位父盒子节点(了解)
2、 用途
l offsetWidth和offsetHeight的作用
主要用来检测盒子自身的宽高+padding+border
l offsetLeft和offsetTop的作用
返回距离上级盒子(带有定位)左边的位置;
如果父级都没有定位则以body为准;
offsetLeft从父亲的padding开始算,父亲的border不算;
offsetLeft和style.left区别:
1、 offsetLeft可以返回没有定位的盒子距离左侧的位置,而style.left不可以
2、 offsetLeft返回的是number,style.left返回的是string
3、 offsetLeft只读,style.left可读可写
4、 如果没有给html元素指定过left或top的样式,style.left返回的时候空字符串,但offsetLeft只能是数字
l 有关动画
四、scroll家族
scroll 本意 卷页,卷曲的意思
1、 scrollWidth和scrollHeight(了解)
用来检测内容的宽高,不包括border,ie6、7、8下scrollHeight内容的宽高可以比盒子小。IE8+,火狐,谷歌不能比盒子小
2、 scrollLeft和scrollTop
被卷去的的左侧和头部(浏览器无法显示的左/头部)部分
window.onscroll滚动事件,屏幕每滚动一次,哪怕只有1px都会触发这个事件,这样就可以用来检测屏幕滚动了
兼容性问题
document.body.scrollTop;
document.documentElement.scrollTop
window.pageYOffset
ps:获取title,body,head,html标签的用法
document.title 文档的标题
document.head 文档的头部标签
document.body 文档的body标签
document.documentElement 文档的html标签 这个很重要
js中对象的一些特性,JSON,scroll家族的更多相关文章
- js 中对象属性的特性
数据属性: 数据属性包含一个数据值的位置,在这个位置可以读取和写入值. 4个描述的行为特性: writable 表示能否修改属性的值.默认为true Enumerable 表示能否过过for in循 ...
- [转]JS中对象与字符串的互相转换
原文地址:http://www.cnblogs.com/luminji/p/3617160.html 在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: thr ...
- JS中对象与字符串的互相转换
在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: throw new SyntaxError('JSON.parse'); 查询资料,大概意思如下: JSON ...
- 【转载】js中对象的使用
原文链接:http://www.jb51.net/article/90256.htm[侵删] 简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一 ...
- js中对象转化成字符串、数字或布尔值的转化规则
js中对象可以转化成 字符串.数字.布尔值 一.对象转化成字符串: 规则: 1.如果对象有toString方法,则调用该方法,并返回相应的结果:(代码通常会执行到这,因为在所有对象中都有toStrin ...
- JS中把字符串转成JSON对象的方法
在JS中,把 json 格式的字符串转成JSON对象,关键代码 json = eval('('+str+')'); <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- js 中对象属性特性的描述
如何自定义属性的特性? 用对象.属性的特性和自定义的属性的特性有什么区别? 它的四大特性 writable enumerable configable 有什么区别? 先预习一个用对象.属性 ...
- js中对象使用
简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一个含有两个属性的对象,x.y var o2={x:12,y:'12',name:'JS'}; ...
- js中对象的创建
json方式,构造函数方式,Object方式,属性的删除和对象的销毁 <html> <head> <title>js中的对象的创建</title> &l ...
随机推荐
- mysql 远程连接超时解决办法
设置mysql远程连接root权限 在远程连接mysql的时候应该都碰到过,root用户无法远程连接mysql,只可以本地连,对外拒绝连接. 需要建立一个允许远程登录的数据库帐户,这样才可以进行在远程 ...
- ubuntu16.04下用笔记本摄像头和ROS编译运行ORB_SLAM2的单目AR例程
要编译ORB_SLAM2的ROS例程首先需要安装ROS,以及在ROS下安装usb_cam驱动并调用,最后搭建ORB_SLAM2. 1.ROS的安装 我的电脑安装的是ubuntu16.04系统,所以我安 ...
- Apache POI 读写 Excel 文件
目录 写入 Excel 文件 读取 Excel 文件 遍历 Excel 文件 需要的 maven 依赖 完整代码 写入 Excel 文件 // 写入 Excel 文件 // ============= ...
- Educational Codeforces Round 29
A. Quasi-palindrome 题目链接:http://codeforces.com/contest/863/problem/A 题目意思:问一个数可不可以在不上一些前缀0以后变成一个回文数. ...
- flask中Flask()和Blueprint() flask中的g、add_url_rule、send_from_directory、static_url_path、static_folder的用法
1.Blueprint()在蓝本注册函数register_blueprint()中,第一个参数为所注册的蓝本名称.当我们在应用对象上注册一个蓝图时,需要指定一个url_prefix关键字 参数(这个参 ...
- 过山车---hdu2063(最大匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2063最大匹配模板题: #include <iostream> #include <c ...
- AndroidManifest.xml的targetSdkVersion 与 project.properties中target
(1)minSdkVersion与maxSdkVersion :在安装程序的时候,如果目标设备的API < minSdkVersion,或者目标设备的API > maxSdkVersion ...
- ThinkPhp3.2.3 多项目 后台 APP接口设计 框架设计
↓↓↓项目文件组成部分↓↓↓ APP文件是后台,index.php是入口文件 Interface文件是接口,注意这里不要用api命名!可能会有问题!interface.php是入口文件 注:两个入口文 ...
- Kafka丢失数据问题优化总结
数据丢失是一件非常严重的事情事,针对数据丢失的问题我们需要有明确的思路来确定问题所在,针对这段时间的总结,我个人面对kafka 数据丢失问题的解决思路如下: 是否真正的存在数据丢失问题,比如有很多时候 ...
- 454 Authenti cation failed, please open smtp flag first! (Net::SMTPAuthenticationError)
在用ruby的smtp库发送邮件的时候,出现了这个错误454 Authenti cation failed, please open smtp flag first! (Net::SMTPAuthen ...