js对象 object【js是基于对象的语言】

本文介绍面向对象编程的基本概念,包括如何使用构造函数创建对象、对象的属性与方法定义及调用方式。此外还探讨了JSON对象的应用场景以及JavaScript中this关键字的作用与特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

json对象

数据格式、数据存储【无需内置方法】

{
"xxx":"yyy",
"yyy":"bbb"
}
{"userName":"admin","userName":"admin","userName":"admin"}

面向对象

编程思路(面向对象的编程)

构造函数来实现面向对象编程

// 构造函数:大驼峰
   function Hello(){
     //console.log(1111)
   }
    // new 关联字(实例化对象)
    var obj= new Hello()
       obj.name="xxxx"
       obj.doing = function(){
           console.log(2222)
           console.log(this.name)
       }
    console.log(obj)
    console.log(obj.name)
    obj.doing()
{
    userName:"admin",
    doing:function(){

	}
}


{  } == new Object()

对象的定义

【对象的本质是利用程序去描述一段客观存在的事物;】

//json  对象:数据存储(替代关联数组)
//通过字面量的方式定义对象
//对象:属性、方法
//属性:描述对象外在特征(类:内部的变量),当前对象(方法)需要的数据 
//方法:突出对象的功能,用于描述对象的行为(类:内部的自定义函数)
var obj = {
	"userName":"admin",//userName为键,且为字符串
	"sex":"男",//属性
	......//可写n个
	doing:function(){
		console.log()
	},
	other:()=>{
		console.log()
	}
	//一个对象里面可以存在n个属性和方法
}console.log(obj)
对象的取值"."来进行调用【调用属性】
console.log(obj.userName)//调用上面userName属性
调用方法
obj.doing()
定义对象
var obj = {};//字面量方式
var obj2 = new Object();//实例化构造函数
console.log(obj)
console.log(obj2)
console.log(obj==obj2)//false

动态存值
obj.userName = "admin"
obj.doing = function(){
	console.log("111")
}
console.log(obj)
console.log(obj.userName)
obj.doing()

构造函数

String:构建str的操作对象

Array:构建数组对象

Object:构建object对象

this关键字

1、this无法直接确定指向,程序驱动的过程中确定(默认谁调用this指向谁)

2、箭头函数内部无this指向,默认会指向当前函数的上层

对象方法:内部(this指向当前对象)

函数调用:内部(this指向window)

//对象 关键字 this(特指当前对象)
//this无法直接确定指向,默认谁调用指向谁
//面向对象编程 会用到this
var obj = {
	data:{
	msg:"test..."
	},
	//doing:function(){}【es5的格式】
	//es6简写
	doing(){
		console.log("111")
		//this特指当前对象obj
		console.log(this)
		console.log(this.data.msg)//打印对象obj内的data对象的msg属性
	},
	something:()=>{
        //箭头函数内部没有this指向,指向上层this
        console.log("33333")
        console.log(this)
	}
}
obj.doing()//方法的调用   //obj->doing == this->obj
obj.something() //obj驱动 -something(箭头没有指向)

补充:json对象 数据存储的场景【es6】

var name = "asdsg"

​	var obj = {

"userName ":"admin",

name,



}
//数据存储场景
var data ={
sid:"1234567",
name:"张飒",
sex:"男",
like:"女",
tel:"123345436324",
address:"湖北武汉",
subjects:"软件工程"
}
console.log(data.name);
//对象元素读取:(不带引号就是变量)
console.log(data["name"])

//数据遍历
for(k in data){
	console.log(k)
	console.log(data.k)//不可行
	console.log(data[k])
}

es5面向对象编程

构造函数模式:

function hello(){

}
var obj = new hello()


例
//构造函数:大驼峰
function Hello(){
	console.log(111)
}
//new关键字(实例化对象)
var obj = new Hello()
obj.name="xxxx"
obj.doing = function(){
    console.log(222)
    console.log(this.name)
}
console.log(obj)
console.log(obj.name)

object内置API

hasOwnProperty("属性名") //判断当前对象是否存在某个属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值