一、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家族的更多相关文章

  1. js 中对象属性的特性

    数据属性: 数据属性包含一个数据值的位置,在这个位置可以读取和写入值. 4个描述的行为特性: writable  表示能否修改属性的值.默认为true Enumerable 表示能否过过for in循 ...

  2. [转]JS中对象与字符串的互相转换

    原文地址:http://www.cnblogs.com/luminji/p/3617160.html 在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: thr ...

  3. JS中对象与字符串的互相转换

    在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: throw new SyntaxError('JSON.parse'); 查询资料,大概意思如下: JSON ...

  4. 【转载】js中对象的使用

    原文链接:http://www.jb51.net/article/90256.htm[侵删] 简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一 ...

  5. js中对象转化成字符串、数字或布尔值的转化规则

    js中对象可以转化成 字符串.数字.布尔值 一.对象转化成字符串: 规则: 1.如果对象有toString方法,则调用该方法,并返回相应的结果:(代码通常会执行到这,因为在所有对象中都有toStrin ...

  6. JS中把字符串转成JSON对象的方法

    在JS中,把 json 格式的字符串转成JSON对象,关键代码 json = eval('('+str+')'); <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  7. js 中对象属性特性的描述

    如何自定义属性的特性? 用对象.属性的特性和自定义的属性的特性有什么区别? 它的四大特性 writable   enumerable   configable   有什么区别? 先预习一个用对象.属性 ...

  8. js中对象使用

    简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一个含有两个属性的对象,x.y var o2={x:12,y:'12',name:'JS'}; ...

  9. js中对象的创建

    json方式,构造函数方式,Object方式,属性的删除和对象的销毁 <html> <head> <title>js中的对象的创建</title> &l ...

随机推荐

  1. 大规模网站sesson会话保持思路及实践配置

    1.需求: 请教个问题:我用lvs的rr模式,(考虑过 ipvsadm -p,但是这样就失去了负载均衡的意义感觉),后端有10台web,用一台memcached专门用于存储session文件,但是现在 ...

  2. 性能分析工具gprof介绍(转载)

    性能分析工具gprof介绍Ver:1.0 目录1. GPROF介绍 42. 使用步骤 43. 使用举例 43.1 测试环境 43.2 测试代码 43.3 数据分析 53.3.1 flat profil ...

  3. 写一个体验良好的git commit

    一直在使用git也看过格式各样commit log , review 代码时最刺激的是看到这类 "." 应付差事,还有 "fix bug","fix& ...

  4. LightOj 1422 Halloween Costumes(区间DP)

    B - Halloween Costumes Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Submit ...

  5. 聊一聊goroutine stack

    通过阅读这篇文章对内存的处理以及栈的扩容有了新的认识,我们在生产环境中也遇到了内存使用量超大的情况,现在怀疑也可能是由于栈扩容导致的 很好的一片文章: 推送在外卖订餐中扮演着重要的角色,为商家实时接单 ...

  6. 分区默认segment大小变化(64k—>8M)

    _partition_large_extents和_index_partition_large_extents 参考: http://www.xifenfei.com/2013/08/%E5%88%8 ...

  7. 前端程序员:月薪 5K 到 5 万

    入行行头:5 大硬件 请准备好以下东西 一颗人类的大脑:智商在平均水平线以上即可 一份强烈的渴望:我的代码要可以运行在任何一个有浏览器的设备上. 一台笔记本电脑:不需要花费很多钱得那种,只要它可以运行 ...

  8. python之sys.stdout、sys.stdin以及设置打印到日志文件等

    转自:https://www.cnblogs.com/BigFishFly/p/6622784.html python之sys.stdout.sys.stdin 转自:http://www.cnblo ...

  9. Python开发【Django】:日志记录、API认证

    日志记录: 调用同一个对象,分别记录错误日志和运行日志 自定义日志类: class Logger(object): __instance = None def __init__(self): self ...

  10. 比特币BTC全节点搭建

    比特币BTC全节点搭建 #环境 ubuntu 16.4 #硬盘500GB #截止2018-12-31磁盘占用超过230GB #客户端安装 #下载页面 #https://bitcoin.org/zh_C ...