前端基本功-JS/DOM

 前言,对于前端基础的部分认识了解,我是个小白!

一,对象

(1)创建空白对象:var  obj  =  new  Object();

(2)构造函数(就是为了创建对象实例)

1,可以创建对象实例的函数。

2,区别与普通函数,首字母大写。

(3)This:this只出现在函数中。

谁调用函数,this就指的是谁。

new People():   People中的this代指被创建的对象实例。

new:1.开辟内存空间,存储新创建的对象( new Object() )

2.把this设置为当前对象

3.执行内部代码,设置对象属性和方法

4.返回新创建的对象十进制的值=位值*进制(位数-1) +位值*进制(位数-1) +位值*进制(位数-1)

(4)对象字面量JSON

var obj = {aaa: 111}; var json = {“aaa”:111};

对象字面量定义方法和json很像,只有一点不同,json的key要求必须加“”;

json组成:Var json = {“aaa”: 1,“bbb”: 2,“ccc”: 3,“ddd”: 4}

Json由{}和key:value以及逗号组成,三部分。(只有一个键值对key:value时,可以没有逗号)

for...in...:Var json = {“aaa”: 1,“bbb”: 2,“ccc”: 3,“ddd”: 4}

for(var key in json){

//key代表aaa,bbb.....等

//json[key]代表1,2,3....等

}

构造函数的原理

function  Num(aaa){

this["[[PrimitiveValue]]"] = num/1;

return  aaa/1;

}

二,流程结构

分为三类:顺序结构,选择结构,循环结构。

顺序结构:按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。

选择结构:1,丢弃小数部分,保留整数部分

2,向上取整,有小数就整数部分加

3,四舍五入

4,向下取整

循环结构:1,遍历数组首选for循环,简单循环使用for。

2,而while循环强调,不记循环次数(不知道循环多少次),首选while。

3,最后do...while循环强调,无论怎样,至少执行一次是,使用do...while。

(1)for循环

1,执行流程

for (变量;条件1;条件2){ 执行程序 }

执行过程:变量->条件1->执行程序->条件2->条件1->执行程序.....

直到条件1不成立,跳出循环。

2,三个表达式均为可选,但是必须写分号。(for(){程序}     死循环;)

(2)while循环

语法规则:

var i = 0;

while(i<10){程序1;i++};

可以使用死循环和break连用。

While(true)(程序1; if(条件1){break;})

(4)do...while循环(一定会执行一次do中的程序)

var i = 0;

Do{

程序1;

i++;

}while(1<10);

事件:js是一门以事件驱动为核心的语言。事件的三要素是事件源,事件,事件驱动程序(获取事件源,绑定事件,书写事件驱动程序)

HTML的组成部分为节点(Node):在HTML当中一切都是节点……

由结构图中我们可以看到,整个文档就是一个文档节点。

每一个HMTL标签都是一个元素节点(标签)。

标签中的文字则是文字节点。(文本)

标签的属性是属性节点。(属性)

操作节点,找到该元素,通过节点id找到HTML元素,通过节点标签名找到HTML元素,通过节点类名找到HTML元素。(节点的访问关系都是属性。节点的操作都是函数或者方法)

节点:

父节点 :调用者就是节点。一个节点只有一个父节点。调用方式就是节点.parentNode.

兄弟节点:Sibling就是兄弟的意思;Next:下一个的意思;Previous:前一个的意思;nextSibling:调用者是节点。

单个子节点:

firstChild:调用者是父节点。IE678中指第一个子元素节点(标签)。在火狐谷歌IE9+以后都指的是第一个节点(包括空文档和换行节点)。firstElementChild:在火狐谷歌IE9都指的第一个元素节点。第一个子节点=父节点.firstElementChild || 父节点.firstChild。lastChild:调用者是父节点。IE678中指最后一个子元素节点(标签)。在火狐谷歌IE9+以后都指的是最后一个节点(包括空文档和换行节点)。lastElementChild:在火狐谷歌IE9都指的最后一个元素节点。第一个子节点=父节点.lastElementChild|| 父节点.lastChild。

所有子节点:

childNodes:它是标准属性,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本节点   (他还是W3C的亲儿子 )。火狐谷歌等高本版会把换行也看做是子节点。nodeType==1时才是元素节点(标签)。children:非标准属性,它返回指定元素的子元素集合。

但它只返回HTML节点,甚至不返回文本节点,虽然不是标准的DOM属性,但它和innerHTML方法一样,得到了几乎所有浏览器的支持。children在IE6/7/8中包含注释节点。在IE678中,注释节点不要写在里面。

创建节点:使用方法是这样document.createElement();

新的标签(节点)= document.createElement(“标签名”);

插入节点(使用节点):使用方法:父节点.appendChild();父节点.appendChild(新节点); 父节点的最后插入一个新节点。使用方法:父节点.insertBefore(要插入的节点,参考节点);父节点.insertBefore(新节点,参考节点)在参考节点前插入;如果参考节点为null,那么他将在节点最后插入一个节点。

删除节点:用法:用父节点删除子节点。父节点.removeChild(子节点);必须制定要删除的子节点

节点自己删除自己:不知道父级的情况下,可以这么写:node.parentNode.removeChild(node)

复制节点:想要复制的节点调用这个函数cloneNode(),得到一个新节点。 方法内部可以传参,入股是true,深层复制,如果是false,只复制节点本身。新节点=要复制的节点.cloneNode(参数) ; 参数可选复制节点。用于复制节点,接受一个布尔值参数,true表示深复制(复制节点及其所有子节点), false 表示浅复制(复制节点本身,不复制子节点)

节点属性:获取:getAttribute(名称)。设置:setAttribute(名称, 值)删除:removeAttribute(名称);注意:IE6、7不支持。调用者:节点。有参数。没有返回值。每一个方法意义不同。

三,DOM

dom元素:DOM就是html文档的模型抽象。数据以树的形式在内存中排列。节点就是DOM的组成。是一个对象,有属性和方法。获取方式有很多种。节点分为元素节点(标签),文本节点,属性节点。区分方法:nodeType: 1是标签,2是属性,3是文本。


1,解析过程:HTML加载完毕,渲染引擎会在内存中把HTML文档,生成一个DOM树,getElementById是获取内中DOM上的元素节点。然后操作的时候修改的是该元素的属性。

2,DOM(文档对象模型)

dom是一个复合数据类型

3,DOM数据结构(树图)

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

推荐阅读更多精彩内容