JS学习笔记——对象

在JavaScript中,对象是一组无序的相关属性和方法的集合 ,所有的事物都是对象,例如字符串、数值、数组、函数等。

对象是由属性和方法组成的。

属性:事物的特征,在对象中用属性来表示(常用名词)

方法:事物的行为,在对象中用方法来表示(常用动词)

创建对象的三种方式

在JavaScript中,现阶段我们可以采用三种方式创建对象( object) :

利用字面量创建对象

利用new Object创建对象

利用构造函数创建对象

利用字面量创建对象

对象字面量:就是花括号{}里面包含了表达这个具体事物(对象)的属性和方法。

(1)里面的属性或者方法我们采取键值对的形式   键   属性名  :  值  属性值

(2)多个属性或者方法中间用逗号隔开

(3)方法冒号后面跟的是个匿名函数

使用对象

(1).调用对象的属性我们采取   对象名.属性名   

(2).调用属性还有一种方法 对象名['属性名']

(3) 调用对象的方法    对象名.方法名()

console.log(star.name)
//调用名字属性
console.1og(star['name']) // 调用名字属性
star.sayHi() ;
//调用sayHi方法,注意,一定不要忘记带后面的括号

利用new object创建对象

var obj = new Object(); //创建了一个空的对象

可利用等号=赋值的方法添加对象的属性和方法,每个属性和方法之间用分号结束。

利用构造函数创建对象

构造函数:是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new运算符一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。

function构造函数名() {
    this.属性=值;
    this.方法= function() {}
}
new 构造函数名();

// 1.构造函数
function Star(uname, age, sex) {
    this.name = uname ;
    this.age = age;
    this.sex =
    sex;
    this.sing = function(sang) {
    console . log(sang);
    }
}
// 2.对象
var ldh = new Star ('刘德华’, 18, '男'); //调用函数返回的是一个对象
console.1og(1dh);

1.构造函数名字首字母要大写

2.我们构造函数不需要return就可以返回结果

3.我们调用构造函数必须使用new

4.我们只要new 构造函数名() 调用函数就创建一 个对象

5.我们的属性和方法前面必须添加this

构造函数,抽象了对象的公共部分,封装到了函数里面,它泛指某一大类( class )。

创建对象,特指某一个,通过new关键字创建对象的过程我们也称为对象实例化。

new在执行时会做四件事情:

        1.在内存中创建一个新的空对象。

        2.让this指向这个新的对象。

        3.执行构造函数里面的代码,给这个新对象添加属性和方法。

        4.返回这个新对象(所以构造函数里面不需要return )。

遍历对象属性

for  in语句用于对数组或者对象的属性进行循环操作。

for(varkinobj){
    console.log(k); // k  变量  输出  得到的是  属性名
    console.log(obj[k]); // obj[k]得到是  属性值
}

内置对象

JavaScript中的对象分为3种:自定义对象、内置对象、浏览器对象

内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是 最基本而必要的功能(属性和方法)

查文档

MDN:Web 开发技术 | MDN

2.2如何学习对象中的方法

1.查阅该方法的功能

2.查看里面参数的意义和类型

3.查看返回值的意义和类型

4.通过demo进行测试

Math对象

Math.PI   //圆周率
Math.floor ()   //向下取整
Math.ceil ()   //向上取整
Math,round()   //四舍五入版就近取整  注意-3.5  结果是-3 四舍五入其他数字 都是四舍五入,但是.5 特殊  它往大了取
Math.abs ()  //绝对值
Math.max() /  Math.min() // 求最大和最小值

日期对象

Date对象和Math对象不一样,他是一个构造函数,所以我们需要实例化后才能使用
Date实例用来处理日期和时间

//获取当前时间必须实例化
varnow=newDate();
console.log(now) ;

倒计时

用时间戳来做。用户输入时间总的毫秒数减去现在时间的总的毫秒数,得到的就是剩余时
间的毫秒数。再把剩余时间总的毫秒数转换为天、时、分、秒(时间戳转换为时分秒)。

转换公式如下:
d = parseInt(总秒数/ 60/60 /24);  // 计算天数
h = parseInt(总秒数/ 60/60 %24);  //计算小时
m = parseInt(总秒数/60 %60 );   //计算分数
S = parseInt(总秒数%60);   //计算当前秒数

数组对象

检测是否为数组

 instanceof 运算符它可以用来检测是否为数组

console.log(arr instanceof Array); 

Array. isArray(参数);

console.1og(Array.isArray(obj )

添加删除数组元素的方法

数组排序

arr1.sort(function(a, b) {
//   return  a-b;升序的顺序排列
    return b - a; //降序的顺序排列
});

数组索引方法

数组转换为字符串

 

字符串对象

基本包装类型

基本包装类型就是把简单数据类型包装成为复杂数据类型,这样基本数据类型就有了属性和方法。

字符串的不可变

指的是里面的值不可变,虽然看上可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。

根据字符返回位置

 字符串所有的方法,都不会修改字符串本身(字符串是不可变的) ,操作完成会返回一个新的字符串。

根据位置返回字符

字符串操作方法

 简单类型与复杂类型

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型

值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型

引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用) , 因此叫做引用数据类型

堆和栈

1、栈(操作系统) : 由操作系统自动分配释放存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈;   简单数据类型存放到栈里面
2、堆(操作系统) :存储复杂类型(对象) ,一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。   复杂数据类型存放到堆里面

注意: JavaScript中没有堆栈的概念,通过堆线的方式,可以让大家更容易理解代码的一些执行方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于 jQuery 的事件,我可以和你分享一些学习笔记。 1. 绑定事件 在 jQuery 中,我们可以通过以下方式来绑定事件: ``` $(selector).event(function(){ // 事件处理程序 }) ``` 其中,`selector` 表示要绑定事件的元素,`event` 表示要绑定的事件类型,比如 `click`、`mouseover` 等等。事件处理程序则是在事件触发时要执行的代码块。 2. 多个事件绑定 我们可以通过 `on()` 方法来同时绑定多个事件: ``` $(selector).on({ event1: function(){ // 事件处理程序1 }, event2: function(){ // 事件处理程序2 } }) ``` 这样,当 `event1` 或 `event2` 中任意一个事件触发时,对应的处理程序都会被执行。 3. 解除事件 如果需要解除某个元素的事件处理程序,可以使用 `off()` 方法: ``` $(selector).off(event); ``` 其中,`event` 表示要解除的事件类型。如果不指定事件类型,则会解除该元素上所有的事件处理程序。 4. 事件委托 在 jQuery 中,我们可以使用事件委托来提高性能。事件委托是指将事件绑定到父元素上,而不是绑定到子元素上,然后通过事件冒泡来判断是哪个子元素触发了该事件。这样,当子元素数量较多时,只需要绑定一次事件,就可以监听到所有子元素的事件。 ``` $(selector).on(event, childSelector, function(){ // 事件处理程序 }) ``` 其中,`selector` 表示父元素,`event` 表示要绑定的事件类型,`childSelector` 表示要委托的子元素的选择器,事件处理程序则是在子元素触发事件时要执行的代码块。 以上是 jQuery 中事件的一些基本操作,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值