如何通过长尾词策略优化JavaScript面向对象编程学习笔记?

2026-03-31 15:131阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计864个文字,预计阅读时间需要4分钟。

如何通过长尾词策略优化JavaScript面向对象编程学习笔记?

目录+数据赋值+值类型赋值--函数形参+引用类型赋值+对象的动态性+delete删除属性+数据赋值复制+1、赋值是独立的+num1=12;num1=num2+将存储值赋值给另一变量.+2、引用类型赋值+将内存地址赋值给变量+

目录
  • 数据赋值拷贝
  • 值类型赋值--函数形参&实参
  • 引用类型赋值
  • 对象的动态性
  • delete删除属性

如何通过长尾词策略优化JavaScript面向对象编程学习笔记?

数据赋值拷贝

1、值得赋值是独立的

num1=12; num1=num2

将存储值赋值一份存储.

2、引用类型的赋值共享数据

var age=22; age2=age; age=24 console.log(age);

age2依旧是22

引用类型的赋值共享数据
指向同一片内存

3、对象的赋值

var p={ name:"shizi", age:22, } p1=p; console.log(p.name,p.age); console.log(p1.name,p1.age); console.log("------------------------"); p.name="maotai"; p.age=24; console.log(p.name,p.age); console.log(p1.name,p1.age);

值类型赋值--函数形参&实参

例一

var num = 10; function foo(num){ num=100; console.log(num); } console.log(num); #10

例二

var num = 10; function foo(num1){ //实参: 调用时传递的参数 //形参: 定义时传递的参数 num1=100; console.log(num1); } foo(num); console.log(num); # 10 100 10

例三

var num = 10; function foo(num1){ //实参: 调用时传递的参数 //形参: 定义时传递的参数 //var num1=num; num1=100; console.log(num1); } foo(num); console.log(num); # 10 100 10

引用类型赋值

var obj={ name:"宅男" } function jinhua(param){ param.name="高富帅"; } jinhua(obj); console.log(obj.name); #高富刷

var obj={ name:"宅男" } function jinhua(param){ param.name="高富帅"; //重新开辟内存,param重新指向一片mem param={ name: "腐女" } param.name="宅男"; } jinhua(obj); console.log(obj.name); #宅男

对象的动态性

动态添加属性和方法

p={ name:"刘德华", age:22 } //添加属性方式1 p.gender="male"; //添加属性方式2 p["salary"]=2000; //添加对象类型属性 p.foo=function(){console.log("sing");} //访问属性方式1 console.log(p.foo()); console.log(p.salary); //访问属性方式2 console.log(p["name"];

p={ name:"刘德华", age:22 } p["salary"]=2000; //是字符串 console.log(p.salary);

p={ name:"刘德华", age:22 } p[0]=2000; //隐式将0转换为字符串 //console.log(p.0); //发现这种方式访问报错 console.log(p["0"]); //这种方式正常访问

以下等价

p={ name:"刘德华", age:22 } p[{}]="shizi"; console.log(p);

p={ name:"刘德华", age:22 } p["[object Object]"]="shizi"; console.log(p);

探究

a={} console.log(a.toString()); #"[object Object]"

delete删除属性

删除对象的属性

删除未用var定义的变量.

  • delete返回布尔
  • 删除不存在的属性,返回true
  • 无法删除原形中的属性 如delete obj.toString()

resu=delete obj.name; # resu返回值是true

var num1=100; console.log(num1); console.log(window.num1); # 100 100

num1=100; console.log(num1); console.log(window.num1); # 100 100

var num1=100; delete(num1); console.log(window.num1); # 100

num1=100; //未使用var,可被delete删除 delete(num1); console.log(window.num1); ## undefined

到此这篇关于js 面向对象的文章就介绍到这了,更多相关js 面向对象内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

本文共计864个文字,预计阅读时间需要4分钟。

如何通过长尾词策略优化JavaScript面向对象编程学习笔记?

目录+数据赋值+值类型赋值--函数形参+引用类型赋值+对象的动态性+delete删除属性+数据赋值复制+1、赋值是独立的+num1=12;num1=num2+将存储值赋值给另一变量.+2、引用类型赋值+将内存地址赋值给变量+

目录
  • 数据赋值拷贝
  • 值类型赋值--函数形参&实参
  • 引用类型赋值
  • 对象的动态性
  • delete删除属性

如何通过长尾词策略优化JavaScript面向对象编程学习笔记?

数据赋值拷贝

1、值得赋值是独立的

num1=12; num1=num2

将存储值赋值一份存储.

2、引用类型的赋值共享数据

var age=22; age2=age; age=24 console.log(age);

age2依旧是22

引用类型的赋值共享数据
指向同一片内存

3、对象的赋值

var p={ name:"shizi", age:22, } p1=p; console.log(p.name,p.age); console.log(p1.name,p1.age); console.log("------------------------"); p.name="maotai"; p.age=24; console.log(p.name,p.age); console.log(p1.name,p1.age);

值类型赋值--函数形参&实参

例一

var num = 10; function foo(num){ num=100; console.log(num); } console.log(num); #10

例二

var num = 10; function foo(num1){ //实参: 调用时传递的参数 //形参: 定义时传递的参数 num1=100; console.log(num1); } foo(num); console.log(num); # 10 100 10

例三

var num = 10; function foo(num1){ //实参: 调用时传递的参数 //形参: 定义时传递的参数 //var num1=num; num1=100; console.log(num1); } foo(num); console.log(num); # 10 100 10

引用类型赋值

var obj={ name:"宅男" } function jinhua(param){ param.name="高富帅"; } jinhua(obj); console.log(obj.name); #高富刷

var obj={ name:"宅男" } function jinhua(param){ param.name="高富帅"; //重新开辟内存,param重新指向一片mem param={ name: "腐女" } param.name="宅男"; } jinhua(obj); console.log(obj.name); #宅男

对象的动态性

动态添加属性和方法

p={ name:"刘德华", age:22 } //添加属性方式1 p.gender="male"; //添加属性方式2 p["salary"]=2000; //添加对象类型属性 p.foo=function(){console.log("sing");} //访问属性方式1 console.log(p.foo()); console.log(p.salary); //访问属性方式2 console.log(p["name"];

p={ name:"刘德华", age:22 } p["salary"]=2000; //是字符串 console.log(p.salary);

p={ name:"刘德华", age:22 } p[0]=2000; //隐式将0转换为字符串 //console.log(p.0); //发现这种方式访问报错 console.log(p["0"]); //这种方式正常访问

以下等价

p={ name:"刘德华", age:22 } p[{}]="shizi"; console.log(p);

p={ name:"刘德华", age:22 } p["[object Object]"]="shizi"; console.log(p);

探究

a={} console.log(a.toString()); #"[object Object]"

delete删除属性

删除对象的属性

删除未用var定义的变量.

  • delete返回布尔
  • 删除不存在的属性,返回true
  • 无法删除原形中的属性 如delete obj.toString()

resu=delete obj.name; # resu返回值是true

var num1=100; console.log(num1); console.log(window.num1); # 100 100

num1=100; console.log(num1); console.log(window.num1); # 100 100

var num1=100; delete(num1); console.log(window.num1); # 100

num1=100; //未使用var,可被delete删除 delete(num1); console.log(window.num1); ## undefined

到此这篇关于js 面向对象的文章就介绍到这了,更多相关js 面向对象内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!