JavaScript基础知识点整理(下)

在上一篇文章《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(回调函数);返回的是符合条件的筛选后的数据,组成的新数组

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,951评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,606评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,601评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,478评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,565评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,587评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,590评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,337评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,785评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,096评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,273评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,935评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,578评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,199评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,440评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,163评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,133评论 2 352

推荐阅读更多精彩内容