复习 函数内部访问函数名称 arguments.callee() 匿名函数 function (){ } 声明一个函数 var fn=function(a,b){ } fn(1,2) 回调函数,把匿名函数以参数的形式传递 getSum(function(){ return 1; },function(){ return 2; }); 全局函数 encodeURI 主要是对URI的中文进行编码 decodeURI 解码 isNaN 检测一个值是否为NaN isFinite 检测一个值是否为有限值 3333*8888 -2/0 parseInt/parseFloat eval 执行字符串表达式 ‘1+2’ ‘a+b/c’ 对象 是一组属性和方法集合体 对象直接量/字面量 var compute={color:‘white’, size: 30,…} compute.color compute[‘color’] compute.brand=? 结果undefined 内置构造函数 var dog=new Object(); dog.name 工厂函数——创建多个对象,有共同的属性和方法 function createObj(name){ var o=new Object(); o.name=name; … return o; } 封装:把重复的代码放到函数中就称为函数封装;把重复的代码放到对象中就称为对象封装 对象的遍历 for(var key in dog){ //属性 key //属性值 dog[key] } 成员方法 var person={ name: ‘tom’, say: function(){ this.name } } person.say();
学习一门编程语言路线图 (1)了解语言的背景,历史,特点,应用领域,现状 (2)搭建开发环境,编写 hello world (3)声明变量和常量 (4)数据类型 (5)运算符 (6)逻辑结构 (7)通用小程序 (8)函数和对象 (9)第三方的类库,插件,组件,框架 (10)开发项目
1.检测属性是否存在 (1)对象.hasOwnProperty(‘属性名’) //true->存在 false->不存在 (2)‘属性名’ in 对象 // true->存在 false->不存在 (3)对象.属性名===undefined //true->不存在 false->存在 2.数据在内存中的存储方式 原始数据类型存在栈内存中,存储的就是数据的值。 引用类型存储在堆内存中,存储的是对象的地址。
3.数组的创建 数组也是一种数据类型,是数据的集合,可以存储其它任何的数据类型。 (1)数组直接量 var arr=[元素1,元素2…] (2)内置构造函数 var arr=new Array(元素1,元素2,元素3…) var arr=new Array(3); //创建数组,长度是3,每一个数组元素的值是空(undefined) 练习: 1.创建数组,保存5个国家的名称 2.创建数组,保存3个人的信息(姓名,性别,年龄)——>3个对象 4.数组的访问 数组名[下标] 下标从0开始 往数组中添加新的元素 arr[arr.length]=新的元素; arr.length 获取数组中元素的个数 练习:信息录入,使用循环弹出提示框,每次输入一个姓名,把输入的姓名放入到数组中;并打印结果;直到输入quit,不再弹出提示框。 ①弹出提示框无限次,无限循环 while(true){ } ②在循环以外初始化一个数组,在循环中每次添加一个人名,添加完后,打印(弹出警示框)结果。 ③如果输入的值是quit,使用break结束循环 5.undefined哪些地方出现过 ①声明了变量,未赋值 ②如果实参的数量小于形参的数量,未赋值的形参结果也是undefined ③如果访问对象中不存在的属性,结果也是undefined ④创建数组,未初始化数据,数组的元素也是undefined 6.数组遍历 使用for循环遍历数组的下标 var arr=[‘a’,‘c’,‘d’]; for(var i=0;i<arr.length;i++){ arr[i] //数组的每一个元素 } 练习:创建一个数组,包含5个车名,单独添加2个车名,最后遍历数组。 数组的分类 数组分为索引数组和关联数组。 索引数组:下标以数字的形式。 关联数组:下标以字符串的形式 关联数组只能使用for-in来遍历; 索引数组既能使用for循环,也能使用for-in来遍历 练习:创建数组,保存学生的成绩,使用遍历数组来获取总分以及平均分是多少。 var arr=[80,79,68,96]; //数字求和, 求平均 = 总和/数组个数 练习:求数组中的最大值 var arr=[5,10,105,32,79] ①假设第一个数就是最大值 var max=arr[0] 练习:使用函数,传递一个参数,格式是数组,返回数组中的最小值。 练习:查找数组中指定元素的位置的下标。 [‘刘备’,‘曹操’,‘袁绍’,‘小乔’,‘大乔’]; 查找’小乔’对应下标 7.数组中的方法 js中提供的数组方法称为 数组API toString() 将数组转为字符串 join([参数]) 返回字符串,参数表示元素之间的分割符,默认是逗号 concat(参数1,[参数2]…) 拼接多个数组 slice(start,end) 截取数组元素, start表示开始,end表示结束(不包含end本身) start ~ end-1;如果end为空,表示截取到最后 splice(start,count,value…) 删除数组元素,start表示开始,count表示删除的数量,value表示删除后替换的元素;如果count为空,表示删除到最后 reverse() 翻转数组元素 sort([参数]) 对数组元素进行排序,默认是按照Unicode码,从小到大排列。 数字的大小排序 sort(function(a,b){ //return a-b; //从小到大 //return b-a; //从大到小 })
课后任务: (1)复习今天的内容,整理出思维导图 (2)课后作业 创建一个数组,数组包含4本书的对象(title,author,publish,page), 遍历数组,以及对象,每个对象占一行 三国演义-罗贯中-人民邮电出版社-200页 (3)查一查“冒泡排序”,总结原理
