重新开始JavaScript(四)--关于对象
程序员文章站
2022-07-15 17:05:59
...
关于对象
- 概念:对象是具体到某一个事物,具有一定的特征和行为。
- 面向对象:可以创建自定义类型,支持继承和多态。JAVA/C++/C#
- 基于对象:无法创建自定义类型,不能很好的支持继承和多态。 JavaScript(没有接口,抽象类等概念)
- JavaScript 创建对象一般用 new Object()或使用{}; 也可以自己写一个构造函数来创建对象。
- js对象是无序属性的集合;可看作键值对类型,值可以是数据可以是函数。
- 属性可用obj . prop 或者obj[‘prop’]调用访问
//代码表示
var dog = new Object();
var cat= new Object();
var o = {};
dog.name='阿花';
cat['name'] = '阿白';
o.name = "张三";
//调用属性方式
console.log(dog.name);//阿花
console.log(dog['name']);// 阿花
console.log(cat.name);//阿白
console.log(cat['name']);//阿白
console.log(o.name);//张三
- 目的:封装一些数据。
this
- 谁调用,this就是谁,this始终是当前对象。
- window是js的*对象。
对象字面量和JSON
<script>
//对象字面量
var o = {
name:"zs",
age:18,
have:{},
say:function(){
console.log("hello");
}
};
//json JavaScript Object Notation
//和对象字面量的区别,就是属性需要使用引号引起 一种规范
var o = {
'name':'ls',
'sex':18
}
</script>
forin
用于遍历数组或者对象的属性。
<script>
var obj = {
name:"zs",
age:18,
have:{},
say:function(){
console.log("hello");
}
};
for (var key in obj) {
//输出属性名+属性值 name---zs,age---18...
//如果写成obj.key或obj['key'],则报undefined错误
console.log(key+'----'+obj[key]);
}
</script>
基本类型/简单类型/复杂类型当参数
<script>
//基本类型
//只有栈,传递过程是把变量复制一份,修改函数内部变量,对外部变量无影响
function f1(x){
x = 100;
}
var x = 1;
f1(x);
console.log(x);// 1
//简单类型
//同是复制栈上的地址,但指向同一个堆内存对象,无论操作谁,对象改变
function f2(o){
o.name = "zs1";
}
var obj = {
name:"zs",
age:18
}
f2(obj);
console.log(obj.name);// zs1
//复杂类型
//复制栈地址,指向 堆的同一对象,修改对象,结果改变
function f3(arr){
arr[0] = 10;
}
var array = [1,2,3];
f3(array);
console.log(array);//10,2,3
</script>
上一篇: Python>类
下一篇: java:执行linux sudo命令
推荐阅读
-
使用jQuery快速高效制作网页交互特效——04 第四章JavaScript对象及初识面向对象
-
前端笔记之JavaScript面向对象(四)组件化开发&轮播图|俄罗斯方块实战
-
举例讲解JavaScript中关于对象操作的相关知识
-
JavaScript new对象的四个过程实例浅析
-
重新开始JavaScript(四)--关于对象
-
关于JavaScript原型对象那些事儿
-
Javascript基础知识中关于内置对象的知识
-
关于学生对象的增删改查的“改”(网页界面,bootstrap)(续,使用模态窗的修改操作)第二种实现方式(JavaScript DOM操作)
-
JavaScript中关于面向对象思想的介绍
-
Javascript学习笔记之 对象篇(四) : for in 循环_基础知识