07前端基本功第四天01_第1页
07前端基本功第四天01_第2页
07前端基本功第四天01_第3页
07前端基本功第四天01_第4页
07前端基本功第四天01_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、传智播客 前端与移动开发学院前端开发工程师、移动 HTML5 开发工程师、全栈开发培训前端基本功javascript 第四天第 0 页传智播客 前端与移动开发学院传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训目录目录11.1复习31.2两个小循环31.3多分支语句 switch41.4onchange5下拉菜单的1.5数组常用方法71.5.1添加 数组71.5.2删除数组内容71.5.3连接两个数组81.5.4 join() 把数组转换为字符串81.5.5 把字符串转换为数组split()91.6 DOM (重点)91.6.1 DOM 定义101.6.

2、2节点101.6.3节点111.6.4封装class 类111.7真假121.8关系131.8.1 父节点13第 1 页传智播客 前端与移动开发学院传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训1.8.2兄弟节点141.8.3子节点151.8.4孩子节点151.9 dom 的节点操作161.9.1创建节点161.9.2节点161.9.3移除节点171.9.4克隆节点171.9.5. 18第 2 页传智播客 前端与移动开发学院传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训1.1复习1. 数组看院 座位大的变量里面

3、可以放很多的值vararr = 1,3,57;var ar = new Array();new object();new Date()var txt =“宋江”,”张飞” ;使用数组:数组名索引号txt1=张飞txt.length;属性遍历数组:for(var i=0;i<txt.length;i+) console.log( txti )txtitxt数组1.2两个小循环循环for(初始化;条件;增量)while()当do while()while(条件) 语句 第 3 页传智播客 前端与移动开发学院var j = 1;while(j<=100)sum1+=j;j+;传智播客 前

4、端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训do while至少执行一次while 不一定1.3多分支语句 switchswitch跟 if else ifelse if else但是 switch 效率更好。几乎一样的作用其实就是 :多选 1从多个里面选 1 个。switch(参数)case 参数 1:语句;break;的意思case 参数 2:语句;break;的意思.default:默认的语句;第 4 页传智播客 前端与移动开发学院语法格式:console.log(sum1);传智播客 前端与移动开发学院前端开发工程师、移动 HTML5 开发工程师、全栈开

5、发培训1.4下拉菜单的onchangesele.onchange = function()当改变的时候第 5 页传智播客 前端与移动开发学院<script>window.onload = function()var sele = document.getElementById("sele");sele.onchange = function()/ alert(this.value);switch(this.value)<script>window.onload = function()/获取元素var txt = document.getElemen

6、tById("txt");var btn = document.getElementById("btn");btn.onclick = function()var val = txt.value;switch(val)case "苹果":alert("苹果的价格是: 5 元");break;case "香蕉":alert("香蕉的价格是: 2 元");break;case "梨":alert("梨的价格是: 1.5 元");break;

7、case "大白菜":alert("大白菜的价格是: 9 毛");break;default:alert("今天没进货");</script>传智播客 前端与移动开发学院前端开发工程师、移动 HTML5 开发工程师、全栈开发培训效果:第 6 页传智播客 前端与移动开发学院case "1":document.body.style.backgroundImage = "url(images/chun1.jpg)"break;case "2":document.body

8、.style.backgroundImage = "url(images/xia1.jpg)"break;case "3":document.body.style.backgroundImage = "url(images/qiu1.jpg)"break;case "4":document.body.style.backgroundImage = "url(images/dong1.jpg)"break;</script>传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5

9、 开发工程师、全栈开发培训1.5数组常用方法我们经常要对数组进行操作,可能追加,也可能删除 等等,何如?1.5.1 添加 数组var arr = 1,3,5;我们想要 吧 7这个数字 放到这个数组的后面要 1,3,5,7;push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。push 推进去放var arr =1,3,5arr.push(7) 结果变成 :1,3,5,7;unshift() 方法可向数组的开头添加一个或元素,并返回新的长度var arr = 1,3,5arr.unshift(0) 结果变成 0,1,3,5注意:1.5.2 删除数组内容第 7 页传智播客 前端与移动

10、开发学院1. pop()删除最后一个元素console.log(dom.push(7); / 返回的是 数组的长度 4var dom = 1,3,5;2. unshift()从数组的前面放入1. push()后面推进去传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训pop()移除最后一个元素返回值 是 返回最后一个值vararr = 1,3,5arr.pop()结果1,3shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值vararr = 1,3,5 arr.shift() 结果3,51.5.3 连接两个数组concat()该方法用

11、于连接两个或多个数组。它改变现有的数组,而仅仅会返回被连接数组的一个副本var aa = 1,3,5;var bb = “a”,”b”,”c”;aa.concat(bb);结果:1,3,5,“a”,”b”,”c”;1.5.4 join() 把数组转换为字符串join()作用是将数组各个元素是通过指定的分隔符进行连接成为一个字符串。语法arrayObject.join(separator)数组名.join(符号)数组转换为字符串第 8 页传智播客 前端与移动开发学院2. shift()删除第一个元素传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训参数 se

12、parator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。var arr = 1,2,3;console.log(arr.join(“-”)结果就是:1-2-3字符串1.5.5 把字符串转换为数组 split()join<=>splitsplit() 方法用于把一个字符串分割成字符串数组语法stringObject.split(separator,howmany)参数 separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。howmany 可选。该参数可指定返回的数组的最大长度1.6 DOM (重点)我们js 有三部分组成的?ECM

13、AscriptDOMBOM第 9 页传智播客 前端与移动开发学院传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训(ECMAScript)欧洲计算机制造商描述了 JS 的语法和基本对象。var aavar AA不一样文档对象模型(DOM)学习的重点处理网页内容的方法和接口浏览器对象模型(BOM)了解一下与浏览器交互的方法和接口window.alert()很大的兼容问题1.6.1 DOM 定义DOM 为文档提供了结构化表示,并定义了如何通过来文档结构。目的其实就是为了能让 js 操作html 元素而制定的一个规范。DOM 树1.6.2 节点标记元素节点第 1

14、0传智播客 前端与移动开发学院传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训由结构图中我们可以看到,整个文档就是一个文档节点。而每一个 HMTL都是一个元素节点。中的文字则是文字节点。的属性是属性节点。一切都是节点1.6.3节点我们学过几个节点 :getElementById()id节点getElementsByTagName()节点getElementsByClassName()类名有兼容性问题ie 67 8主流浏览器支持不认识怎么办? 我们封装的 类 。1.6.4封装class 类原理: ()我们要取出所有的盒子, 利用遍历的方法, 通过每一个盒子

15、的className 来。如果相等就留下。第 11传智播客 前端与移动开发学院<script>window.onload = function()/封装class 类名function getClass(classname)/如果浏览器支持,则直接返回if(document.getElementsByClassName)return document.getElementsByClassName(classname);传智播客 前端与移动开发学院前端开发工程师、移动 HTML5 开发工程师、全栈开发培训结束,分割版本1.7真假第 12传智播客 前端与移动开发学院我们用条件语句来5

16、大数据类型中的真假;数据结论数字类型所有数字都是真,0 是假字符串所有字符串都是真, 串是假对象所有对象都是真,null 是假未定义undefined 是假,没有真/ 不支持的 浏览器var arr = ; / 用于存放满足的数组var dom = document.getElementsByTagName("*");/alert(dom.length);for(var i=0;i<dom.length;i+)if(domi.className = classname)arr.push(domi);return arr;console.log(getClass(&qu

17、ot;demo").length);</script>传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训1.8关系各个节点的相互关系1.8.1父节点父 :parentNode亲的一层第 13传智播客 前端与移动开发学院/ 关掉的是他的 父亲</script><script>window.onload = function()var x = document.getElementById("x");x.onclick = function()this.parentNode.style.disp

18、lay = "none"传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训1.8.2 兄弟节点nextSibling下一个兄弟亲的ie 678 认识nextElementSibling其他浏览器认识的previousSibling同理上一个兄弟previousElementSibling我们想要兼容我们可以合写|或者必须先写 正常浏览器后写ie678第 14传智播客 前端与移动开发学院div.style.backgroundColor = "red"var div = one.nextElementSibling |

19、 one.nextSibling;传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训1.8.3子节点firstChild第一个孩子 ie678firstElementChild第一个孩子正常浏览器var one.firstElementChild | one.firstChild;lastChildlastElementChild1.8.4 孩子节点childNodes选出全部的孩子childNodes:它是标准属性,它返回指定元素的子元素集合,包括 HTML节点,所有属性,文本节点(嫡出)火狐 谷歌等高本版会把换行也看做是子节点利用 nodeType = 1时才是元素节点来获取元素节点元素第 15传智播客 前端与移动开发学院传智播客 前端与移动开发学院 前端开发工程师、移动 HTML5 开发工程师、全栈开发培训children重要选取所有的孩子 (只有元素节点)这个更好 跟喜欢它。(庶出)ie 678包含 注释节点这个要避免开。1.9 dom的节点操作新建节点节点删除节点克隆节点

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论