JS(冒泡排序&js中的一些内置对象&Math对象&Date对象&继承&属性1.6)

核心思想:循环嵌套
比较趟数以及每趟要比较的次数
原理(以从小王大排为例):
1)从0位置开始,比较相邻的两个元素,如果前一个元素比后一个元素大,则交换两个元素的位置
2)第一轮比较,比较次数为元素的个数-1,第一轮结束后,最后一个元素为最大值
3)第二轮比较次数为,元素个数-2
4)以此类推,第n轮比较的次数为 元素的个数-n
5)根据以上规律,可以得到,比较的轮数为元素个数-1,最后得到比较的结果

[2,6,5,3,4]

第一轮
[2,6,5,3,4]
[2,5,6,3,4]
[2,5,3,6,4]
[2,5,3,4,6]

第二轮
[2,5,3,4,6]
[2,3,5,4,6]
[2,3,4,5,6]

第三轮
[2,3,4,5,6]
[2,3,4,5,6]

第四轮
[2x

通过循环嵌套可以实现冒泡排序,外层循环表示是轮数,内层循环表示次数

| 在这里插入图片描述
什么是对象:指内存中集中保存一组相关数据和功能的整体,对象中保存了相关的数据和操作这些数据的常用方法。
1、内置对象
内置对象就是ECMAscript标准中已经定义好的,由浏览器厂商实现的标准对象,内置对象中封装了专门的数据,和操作数据常用的方法;
js中内置对象有:String、Array、Date、Math、Function、Object、Number、Boolean、RegExp

2、String概述
该对象用于处理文本字符串,创建原始类型字符串:var name = "小明";
使用String对象来创建:var str = new String("小花");

3、String的使用
js中,字符串的内容都是不可变的,String对象的所有方法,都不会改变原有字符串,而是返回一个新的字符串

4、字符串的长度
通过length属性可以获取字符串的长度,也就是字符串中字符的个数
语法:字符串名.length;

5、字符串常用操作
    1)大小写转换
    toLowerCase(),将字符串转化为小写,语法:字符串名.toLowerCase();
    toUpperCase(),将字符串转换成大写,语法:字符串名.toUpperCase();
    不会改变原有字符串,而是会产生一个新字符串

    2)获取指定位置的字符
    charAt(整数值);获取指定下标下的字符
    注意字符串的下标也是从0开始
    语法:字符串名.charAt(下标);

    3)获取指定下标处字符的Unicode编码
    charCodeAt(下标)
    语法:字符串名.charCodeAt(下标);

    4)获取指定子字符串第一次出现的下标
    indexOf();
    语法:字符串名.indexOf(子字符串,开始查找的位置);  如果多次出现,也只返回第一次出现的位置
    lastIndexOf();最后一次出现的下标
    语法:字符串名.lastIndexOf(子字符串,起始位置); 

1、概述
Math对象是一个全局对象,主要是封装了一些常用的数学函数和常数,Math对象没有构造函数,无法通过new关键字去创建,调用属性和方法时,直接用Math对象名即可
2、Math属性
-E:自然数对数(约等于2.713)
-PI:圆周率
3、Math常用方法
-abs(X); 返回x的绝对值
-ceil(x); 对x进行上舍入(只要小数点后大于0,就会加一)
-exp(x);返回e的指数,返回e的x次幂(选修)
-floor(x):对x进行向下舍入(舍去所有小数部分)
-max(x,y):返回x、y中较大的值
-min(x,y):返回x、y中较小的值
-pow(x,y):返回x的y次幂
-round(x):四舍五入
-sqrt(x):返回x的平方根
4、随机数
-random():返回0~1之间的随机数(0<= num <1);
语法:Math.random();
var i = Math.random()n; 0<=i<n
var i = Math.random()
(max-min)+min; min<= i < max
在这里插入图片描述
Date对象用于对日期和时间进行存储和计算
1、创建时间对象
1)使用指定的年月日[时分秒]进行初始化,注意月份是0~11
-var d1 = new Date(2017,4,12);
-var d2 = new Date(2017,4,12,15,41,30);
-var d3 = new Date(“2017/4/12”);

 2)初始化为系统时间
 var d4 = new Date();
 var d5 = new Date;
 var d6 = Date();//初始化为表示系统时间的字符串

2、获取详细的时间信息(抽取年、月、日等)
-getFullYear();返回日期的年份
-getDate();获取Date对象日期部分数据(xx号)
-getDay();获取星期部分
-getMonth();获取月份
-getHours();获取小时部分
-getMinutes();获取分钟部分
-getSeconds();获取秒
子类继承父类的属性和方法
js中主要通过原型来实现继承

在js中实现继承的方式有两种
1)修改构造函数的原型,为该构造函数创建的对象指定统一的父级对象
语法:构造函数名.prototype = 父级对象

2)单独给某一对象的原型指定父级对象,而不影响其他对象的原型,语法
语法:
Object.setPrototypeOf(子对象,父级对象);

优点:对象之间不会篡改各自原型中继承来的属性和方法

| 在这里插入图片描述
属性:
1、属性的定义
属性名如果是普通的标识符,则不需要引号,如果包含空格、加号或是关键字,则必须用引号引起来(尽量避免该情况的发生)

2、属性的访问
可以使用对象名.属性名访问,也可以通过对象名[属性名];进行访问;如属性名包含关键字、空格或加号,则只能使用[]访问
注意,如果使用[]访问属性,则属性名需要用引号引起来

3、属性的遍历
查看对象有哪些属性
使用for...in 进行遍历

4、属性访问错误
如果读取一个不存在的属性,会得到undefined

5、检测属性是否存在
用于检测对象是否包含某个属性
语法:
-使用in关键字, "属性名" in 对象名
-hasOwnProperty()方法

方法:
方法指的是对象的行为
var 对象名 = {
属性1:属性值,
方法名:function(){
方法体
}
}
方法的访问
对象名.方法名();
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值