ES5对象及函数相关

对象
所有的函数都继承自对象
说一下对构造函数,原型,实例的理解/谈一谈原型,原型链?
1.每一个构造函数中都有一个原型对象
2.每一个Object构造函数有一个prototype属性 prototype属性的内存地址指向Object构造函数的原型对象prototype
3.同时prototype原型对象中有一个constructor方法指向Object构造函数
4.obj实例中并没有写toString()和valueOf()方法,可是它可以调用,是因为obj实例可以继承Object构造函数原型对象的方法来使用。(从原型链来继承)
5.obj实例可以使用它的构造函数的原型对象中的实例和方法,为什么?
将Object构造函数比作目前,其产生的原型对象比作父亲,实例是儿子(由母亲产生 也就是OBject构造函数,obj由new Object()产生),这样理解,儿子可以用父亲所拥有的东西。儿子什么都没有,但是儿子可以问父亲要。
obj实例内有name属性。age属性,除了可以访问这两个属性,它还可以访问toString(),valueOf()。

Object
对象的创建
构造函数表示法
var obj = new Object(); //{}
对象字面量表示法
var obj2 = {};
添加
obj2.name = ‘’;
修改(属性已经存在)
obj2.name = ‘’;
删除
delete obj2.name;
访问
obj2.name
obj2[‘name’]
var a = ‘name’;
obj[a]
遍历
for(var key in obj){
key–>属性名
obj[key]–>对应的属性值
}
对象方法
var obj = {
name:‘zhangsan’,
age:12,
//放在对象内的函数叫方法
sayName:function(){
console.log(1);
console.log(this.name);// 问:this是什么?此时this指向谁?this是函数内的一个方法,代表函数得执行环境。this指向函数的执行环境,谁调用指向谁。如果没有调用的 就指向全局环境。
}
};

obj.name
obj.sayName //函数 此时只是访问了一下这个函数
obj.sayName() //运行obj.sayName函数

function test(){}
test //函数的名字 function

运行函数
函数名()
test()

前后端进行数据交互
前端 js的数据类型 中国话
JSON字符串 将前端的对象数组转成json字符串
JSON.stringify(obj) //将前端的对象数组转成json字符串
获取到了后台给的json字符串,需要转换成前端的对象或者数组
JSON.parse(jsonStr)

后台 Java的数据类型 印度话
JSON字符串 将后台的对象或者数组集合转成json字符串

函数
函数声明2种方式
1.函数声明
function test(形参列表){}
2.函数表达式声明(匿名函数)
var test = function(){}

函数声明会提升到代码最前边,函数不执行,在调用函数的时候,函数执行。
上述并不准确,当var声明的变量即声明又初始化,那么此时变量优先级高于函数,如果var变量只是声明或初始化,那么此时函数的优先级高于变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值