每天10个前端知识点:js组成篇

个人博客已上线,欢迎前去访问评论!
无媛无故 - wangchloe的个人博客


以下内容若有问题烦请即时告知我予以修改,以免误导更多人。


1. js实现的组成

ECMA

ECMAScript(js核心) 提供核心语言功能

*兼容:完全兼容
eg:
if(){} arr.pop();

DOM

Document Object Model 文档对象模型 提供访问和操作网页内容的方法和接口

DOM是针对XML但经过扩展用于HTML的应用程序接口(API)。

*兼容:大部分兼容,不兼容可以作兼容处理
eg:
document.getElementById('id') oDiv.style.background = 'red';

BOM

Browser Object Model 浏览器对象模型 提供与浏览器交互的方法和接口

*兼容:根据使用浏览器来,根本不兼容,且不能作兼容处理
eg:
window.navigator.userAgent alert();

2. DOM节点关系

  1. 父子节点
  • 子节点:父节点.children; (一级,一层)

  • 父节点:子节点.parentNode;

  1. 兄弟节点
  • 上一个兄弟节点:
    obj.perviousElementSibling;
    *兼容:高级浏览器
    obj.previousSibling
    *兼容:全兼容
    高级浏览器 -> object text
    低级浏览器 -> 能获取相应的节点

    兼容写法

    var oPrev = obj.previousElementSibling || obj.previousSibling;

  • 下一个兄弟节点
    obj.nextElementSibling
    *兼容:高级浏览器
    obj.nextSibling
    *兼容:全兼容
    高级浏览器 -> object text
    低级浏览器 -> 能获取相应的节点

    兼容写法

    var oNext = obj.nextElementSibling || obj.nextSibling;

  1. 首尾节点

    • 首节点
      父节点.firstElementChild

            *兼容:高级浏览器
            低级浏览器 -> undefined
      

    父节点.firstChild

              *兼容:全兼容
               高级浏览器 -> object text
               低级浏览器 -> 能获取相应的节点
    

    兼容写法

    (1) 父节点.fisrtElementChild || 父节点.firstChild

    (2) 父节点.children[0]

    • 尾节点
      父节点.lastElementChild
      *兼容:高级浏览器
      低级浏览器 -> undefined
      父节点.lastChild
      *兼容:全兼容
      高级浏览器 -> object text
      低级浏览器 -> 能获取相应的节点

    兼容写法

    (1) 父节点.lastElementChild || 父节点.lastChild

    (2) 父节点.children[父节点.children.length - 1]

3. DOM节点操作

  1. 创建一个节点
    var obj = document.createElement('tagName');
  2. 添加一个节点(所有的添加功能都相当于剪切功能)
    父节点.appendChild(要添加的节点);
    父节点.insertBefore(要添加的节点, 在谁前面添加);
  3. 删除一个节点
    父节点.removeChild(要删除的节点);
  4. 替换一个节点
    父节点.replaceChild(新节点, 删除的节点);

4. DOM属性操作

  1. .
  2. []
  3. 可操作自定义属性
  • 获取属性 obj.getAttribute(属性的名字);
  • 设置属性 obj.setAttribute(属性的名字, 值);
  • 删除属性 obj.removeAttribute(属性的名字);

获取设置属性方法尽量不混用

5. BOM

  1. window.open(地址, 方式); 打开新窗口
    返回值:新的窗体对象
    Chrome:拦截
    FF:阻止
    IE:直接打开
    *:用户自己打开的都不拦截
    打开方式:
    (1) _blank 新窗口打开(默认)
    (2) _self 当前页面打开
    about:blank 空白页
  2. window.close(); 关闭当前窗口
    Chrome:直接关闭
    FF:没有反应
    IE:提示
    *:只能关闭自己open出来的窗口
  3. window.location 获取地址栏信息对象
    返回值数据类型:object
  • window.location.href 获取地址栏信息
    返回值数据类型:string
  • window.location.search 获取地址栏信息中的数据
    返回值:?(包括?)后面的值
  • window.location.hash 获取地址栏信息中的锚点
    返回值:#(包括#)后面的值
  • window.location.protocol 获取地址栏信息中的协议
    返回值:eg: http:
  • window.location.host 获取地址栏信息中的域名
    返回值:eg:localhost:8080 baidu.com
  • window.location.port 获取地址栏信息中的端口
    返回值:eg:8080
  • window.location.pathname 获取地址栏信息中的路径
    返回值:eg:/../../xxx.html
  1. window.history 获取地址的历史信息
  • window.history.forward() 前进
  • window.history.back() 后退
  • window.history.go(数字)
    前进时数字>0 -> 1代表前进1个页面
    后退时数字<0 -> -1代表后退1个页面
  1. window.location.reload(); 强制刷新页面

更多内容可以订阅本人微信公众号,一起开启前端小白进阶的世界!

公众号是坚持日更的,不发文的时候推送一些我觉得好用的前端网站或者看到的一些问题的解决方案,也更便于大家交流,就酱。

微信公众号:无媛无故
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348

推荐阅读更多精彩内容

  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,460评论 1 19
  • 本文转发自github, 原文地址 <a name='js'>JavaScript</a> 介绍js的基本数据类型...
    XDUZ阅读 1,037评论 1 11
  • 读完《婴语的秘密》对于本书我没有很强烈的感觉,真的,但是看完这本书让我有了写些什么的冲动,而不是为了完成读书笔记的...
    初以弦阅读 852评论 0 2
  • 三叉路口,我不知道向左还是向右。 脑海里出现未来的种种画面,思念、争吵、眼泪、奔波、冷战……挥之不去。 我开始对婚...
    小郭妮阅读 149评论 0 0