JS基础知识点(二)

在上一篇文章《JS基础知识点(一)》中我们学习了什么是js、js写法、js数据类型、js的函数。在本篇文章中我们将学习重要的部分:面向对象以及常用对象(math、date、string等)的方法

  • 面向对象

    面向对象特性:封装,继承,多态----抽象性

    对象:对象应该有特征(属性)和行为(方法),特指的某个事物

  • 创建对象的3种方式

1. 通过调用系统的Object构造函数创建对象

var 对象名字=new Object();

Object实际上就是一个函数,函数名首字母是大写的

第一种方式,添加属性和方法,非常简单,没有什么,直接.(点)就可以了

添加属性:

对象.属性名字=值;---->设置属性的值

例子:

obj.name="小三";

添加方法:

对象.方法名字=匿名函数;

例子:

obj.eat=function(){};

2. 自定义构造函数创建对象

function 大写字母的一个名字(){}

1.在内存开辟一块空间的空间(向内存申请一块空间的空闲)

2.把this设置为当前的对象(举例子)

3.设置该对象的属性和方法的值

4.把this作为当前对象返回

function Person(name,age){

  this.name=name;

  this.age=age;

  this.sayHi=匿名函数;

}

var per=new Person("小白",23);

3.字面量的方式创建对象

var obj = {

name: "小明",

age: 10,

sayHi: function () {

console.log("我叫:" + this.name);

 }

};

obj.sayHi();

var obj={

属性名字:值,

  属性名字:值,

  方法名字:匿名函数

};

  • 对象中属性或方法的调用

    对象中的属性或者是方法,不仅可以通过点语法的方式获取或者设置,同时可以使 用键值对的方式进行设置或者是获取

  • 对象的遍历

对象一般通过for-in循环遍历

for(var 变量名字 in 对象名字){

  console.log(变量名字);

  //变量名字中存储的是该对象中属性的名字

}

  • JSON格式数据

var json={

  键:值,

  键:值,

};

扩展:JSON数据:格式化的一种数据(指定格式的一种数据,都是键值对的方式)

     JSON格式的数据:成对的,一般都是用双引号括起来的

var obj2={

"name":"雏田",

"age":"20",

"sex":"男"

};

//JSON格式的数据,一般在js中都是通过for-in循环遍历的

for(var key in obj2){

console.log(key+"===="+obj2[key]);

}

  • JS对象分类

js中的对象分为:内置对象(系统自带的对象),自定义对象,浏览器对象window

Object/Math/Date/Array.....

  • (内置对象)Math对象

Math--->是内置对象,不是函数

Math.abs()---->绝对值

Math.max()---->一坨数字中的最大值

Math.min()---->一坨数字中的最小值

Math.ceil()--->向上取整

Math.floor()--->向下取整

Math.PI---->π的值

Math.random()--->获取随机数---->伪随机数,0-1之间,没有1,有0

  • (内置对象)Date对象

Date--->是内置对象,是函数

var dt=new Date();

dt.getFullYear()--->年份

dt.getMonth()--->月份

dt.getDate()--->几号

dt.getHours()--->小时

dt.getMinutes()--->分钟

dt.getSeconds()--->秒

new Date().toLocaleDateString();//日期

new Date().toDateString();//日期

new Date().toLocaleTimeString();//时间

new Date().toTimeString();//时间

  • String对象下的方法

.charAt(索引);--->返回的是指定索引位置的字符串

.charCodeAt(索引);--->返回的是指定索引位置的字符串的ASCII值

.concat("字符串1","字符串2",...)--->字符串拼接.返回新的字符串

.indexOf("要查找的字符串",开始的位置的索引);索引可以省略,返回的是查找后字符串的索引值,找不到则返回-1

.slice(开始的位置,结束的位置);----返回的是截取后的字符串

.lastIndexOf("要查找的字符串",开始的位置)--->从后向前找字符串,找到了就是索引,找不到就是-1

.replace("要替换的字符串","替换后的字符串");----替换后新的字符串

.subStr(开始的索引,截取字符串的长度);返回的是截取后的字符串

.subString(开始的索引,结束的索引);返回的是截取后的字符串

.trim()去掉字符串两端的空格,中间的空格不能去掉

.split("要切掉的字符串",想要几个字符串);返回的是一个字符串的数组

.toLocaleLowerCase();转小写

.toLocaleUpperCase();转大写

.charAt(索引);返回的是索引对应的字符串

.charCodeAt(索引);返回的是索引对应的字符串的ASCII码值(十进制)

.concat("新的字符串","其他字符串",...);

.slice(开始索引,结束索引);从指定位置开始提取字符串,到指定位置的前面

.substring(开始位置,结束位置);从指定位置开始提取字符串,到指定位置的前面

.substr(开始位置,字符串的截取个数);从指定位置开始截取,截取多少个字符串

.indexOf(字符串);获取的是该字符串的索引位置,如果找不到则返回-1

.lastIndexOf(字符串);从后向前找字符串,索引依然是从前向后

.trim()干掉字符串前后的空格

.toLocaleUpperCase()把字符串从小写转大写的

.toLocaleLowerCase();把字符串从大写转小写

.replace(原来的字符串,"新的字符串");替换字符串的

.split("要干掉的字符串");返回的是一个新的数组

  • 创建数字的方式

1. 通过调用系统的构造函数 Array

   var arr1=new Array(); //空数组

2.通过字面量的方式

   var arr2=[]; //空数组

3.通过调用系统的构造函数,设置初始的数组的长度

   var arr3=new Array(3); //undefined

.isArray(变量);返回的是布尔类型,如果是true则是数组,否则就不是数组

  • Array中的方法

.push(数据);向数组中追加一个数组,如果接收这个方法了,结果是追加数据后的数组的长度

.shift();删除数组中的第一个数据,返回值是删除后的那个数据值

.pop();删除数组中的最后一个数据,返回值是删除后的那个数据值

.unshift();向数组中第一个元素前面插入一个数据,返回值是插入数据后数组的新的长度

.reverse();反转数据数据

.sort();排序,但是不稳定

.slice(开始索引,结束索引);截取原数组中的数据,然后组成一个新的数组

.splice(开始的位置,删除的个数);返回值是删除后的数据组成的新数组,原来的数据的数据改变了

.splice(开始的位置,删除的个数,参数1,参数2...);是把数组中删除的位置用新的参数替换了

.indexof(要查找的数据);找到了就是索引,找不到就是-1

.join("字符串");返回值还是字符串,是把数组元素中间加上一个字符串,最终产生一个新的字符串

当一个函数参数的时候,这个函数就叫回调函数

.filter(回调函数);返回的是符合条件的筛选后的数据,组成的新数组

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券