1.函数内部访问函数名
argument.callee 是在函数的内部使用,自动会访问当前的函数名称。
2.声明函数的方式
除了之前所说的函数声明方式,还可以使用匿名函数的方式
声明 var 变量名称 = function(){ //函数体 } 调用: 变量名称(实参列表) |
注意:使用匿名函数的方式不存在函数提升,因为函数名称是用变量来表示的,只存在变量提升。
3.回调函数
匿名函数以实参形式传递,这种写法就叫回调函数
getSum( function(){return 1;} );
匿名函数自调用
(function(){ //函数体 })(); |
4.全局函数
encodeURI 对一个URI进行编码(针对于里面的中文)
decodeURI 对已经编码的URI进行解码
isNaN 检测一个值是否为NaN,是返回true,不是返回false
isFinite 检测是否为有限值,是返回true,不是返回false
1/0=infinity
parseInt 转换为整型
parseFloat 转换为浮点型
eval 执行字符串表达式的值
练习:使用弹出提示框,输入任意的数学计算 ‘2+3*5/6*8-13’
5.对象
js中的数据类型:原始数据类型和引用数据类型
引用数据类型:对象、函数
对象如何定义?
任何事物只要有属性,有功能都可以称为对象。
js中的对象是一组属性和方法的集合。
JS中的分为内置对象(原生对象),宿主对象,自定义对象
(1)自定义对象
对象的直接量
内置构造函数
使用自定义构造函数
6.使用对象直接量创建对象
①使用大括号创建对象{ }
②多个属性间用逗号隔开
③属性名和属性值之间用冒号隔开
④如果对象中出现了空格,-,属性名必须添加引号,其他情况引号可加可不加
练习:创建一本书对象,包含的属性书名,作者,出版社,页码,出版时间
var book = {
bname: 'xwz',
author: 'hjy',
publish: 'yz',
page: '62',
'pub-time': '20160813'
}
//console.log(book);
//单独访问对象中属性
console.log(book.bname);
console.log(book.author);
console.log(book['pub-time']);
对象中属性的访问
对象.属性名 book.bname
对象['属性名'] book['bname']
属性名使用了引号,访问形式只能使用中括号形式。
添加或者修改对象的属性
对象.属性名=属性值 对象['属性名']=属性值
7.使用内置构造函数
var o=new Object();
需要单独添加属性,为了便于使用这种方式——工厂函数
练习:创建一个电脑对象 品牌brand,大小size,颜色color
function createObj(brand,size,color){
var c=new Object();
c.brand=brand;
c.size=size;
c.color=color;
return c;
}
var computer1=createObj('Dell','13.3','black');
var computer2=createObj('MacbookPro','13.3','white');
var computer3=createObj('acer','15.6','pink');
console.log(computer1);
console.log(computer2);
console.log(computer3);
8.遍历属性
遍历:获取所有的属性及其对应的属性值
for(var key in 对象){ //key表示要遍历的所有属性 //如果要获取属性值只能使用——对象[key] } |
注意:只能遍历自定义的属性,不能遍历预定义的属性
练习:创建一个汽车对象(品牌,类型,颜色,产地)
var car={
brand: 'Benz',
type: 'suv',
color: 'black',
country: 'China'
}
for(var key in car){
console.log(key+'---'+car[key]);
}
9.对象中的方法
var person={ say:function(){ } //成员方法 } 成员方法的调用 person.say() 成员方法中访问成员属性 this.name |
课后练习:复习今天内容,完成思维导图
创建一个圆对象,添加属性半径r,添加成员方法(获取周长getLength , 获取面积getArea)
预习数组,数组的创建,数组的方法