(精华)2020年6月25日 JavaScript高级篇 面向对象
发布日期:2021-06-29 15:04:32 浏览次数:3 分类:技术文章

本文共 1867 字,大约阅读时间需要 6 分钟。

ES5-面向对象

一:栈和堆内存空间

//----------值类型(栈)----------var a = 10;var b = a;a++;console.log(a)//11console.log(b)//10//----------引用类型(堆)----------var aa = {
};var bb = aa;aa.name = '一起改变';console.log(aa);//{name:一起改变}console.log(bb);//{name:一起改变}

二:值相等== 和全等 ===

// 定义对象和字符串比较var a1 = new String('123'); //对象var a2 = String('123');//stringvar a3 = '123'; //stringa1 == a2   //truea1 ===a2  //falsea2==a3    a2===a3  //truevar b1 = new String('123'); //对象var b2 = new String('123'); //对象console.log(b1 == b2) //false 地址不同JSON.stringify(b1) == JSON.stringify(b2) //true

三:值传递核对引用传递

// 关于值传递(函数内部的更改不影响外部)相当于赋值给另一个变量var num = 50;function add(n) {
n = 100;}add(num);console.log(num);// 引用(指针 | 快捷方式)传递 (函数内部的更改会影响外部)var arr = [10, 20, 30];function add2(arr) {
console.log(arguments) arr[0] = 99;}add2(arr);console.log(arr);

四:对象的定义

//----------object类型构造函数----------var obj1 = new Object();obj1 .name = "小明";obj1.sleep = function () {
console.log(this.name + "在睡觉");};//----------字面量定义 (简单的字面量)----------var obj2 = {
};obj2.name = 'alney';obj2.age = '10';var mnk = 'name2'; // 'name2 ' , name3obj2[mnk] = 'Alice';//----------字面量定义 (嵌套字面量)----------var per01 = {
name: 'laney', age: '10', action: function () {
console.log('run') }}//----------工厂的方式----------function createPerson(name, age) {
var obj = new Object() obj.name = name; obj.age = age; obj.action = function () {
console.log('run') } return obj;}var c1 = createPerson('hong', 20)var c2 = createPerson('ming', 30)//----------构造函数----------function Person(name, age) {
this.name = name; this.age = age; this.action = function () {
console.log('run' + this.name) }}var p1 = new Person('laney', 20)

五:原型链

var pm = {
name: 'alice'};var newpm = Object.create(pm)newpm.__proto__ === pm//通过谁创建对象原型链就是谁

转载地址:https://codeboy.blog.csdn.net/article/details/106954359 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:(精华)2020年6月25日 JavaScript高级篇 对象属性
下一篇:Java SSM项目 day01 企业权限管理系统(IDEA版)源代码

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月05日 09时27分17秒