js树的倒序遍历_JavaScript前端基础学习十五(全,文末另附有css及js学习链接)

c580c63f8eb1fff598720973e7c3e9f7.png

JavaScript基础入门

一、上篇知识复习

1.1 作用域

JS没有块级作用域,只有函数能关住作用域。

在作用域里面定义的变量叫做局部变量。在函数外面是不能被访问到的。

定义在全局就是我们的全局变量。在任何地方都能被访问。

变量没有定义直接赋值,计算机会自动在全局。一定要写var关键字。

函数的形式参数也是函数内部的局部变量,在外面不能被访问。

作用域链:如果一个函数内部调用一个变量,从本层函数开始一层一层往外找,直到找到一个匹配的变量,就直接使用,一直找不到,报错,变量未定义。

遮蔽现象:如果有同名的变量分布在不同的层面,我们使用距离本层最近的。

函数也有作用域,它定义在哪儿,就在哪个作用域里使用。出了这个作用域,函数不能被访问到。

1.2 闭包

每一个函数都是一个闭包。它天生定义的时候就能记住内部的语句,还有当时所处的作用域,封闭成了一个密闭的环境。每次重新使用这个函数的时候,都能找到原来的作用域。

想观察闭包的现象,用一种特殊的方法。将内层的函数作为外层函数的返回值。将外层函数执行后赋值给一个新的变量,用这个变量调用内层函数,我们就能够观察闭包。

function 

每一个新的闭包,都会访问它定义时的那个作用域。

1.3 数组

数组是一个有序的数据集合。存了一组数据。

数据可以是任意类型,我们习惯一个数组存放同一类型的数据。

数组用它的数组字面量的方法定义。

var 

我们可以通过下标(索引值)来访问数组里面的某一项,下标从0开始的。

也可以通过下标来进行修改值。

arr[1]; //访问的是第二项,索引值是1
arr[1] = 23;  //更改值

数组是object类型,是一个对象。有属性和方法。

数组有一个长度属性。使用数组名.length,得到数组里面数据的长度。数据的个数。

我们数组最大的索引值是数组的长度减1.

最大的索引值 = arr.length - 1

我们可以对数组进行遍历,可以对每一个数组的数据进行一些操作。

for

方法:

首尾操作:

push() 在数组的尾部加入一个或多个元素,返回数组新的长度。

pop() 删除数组的最后一项元素,返回这个删除的元素。

unshift() 在数组的首位添加一个或多个元素,返回的是新的长度。

shift() 删除数组首位的元素,返回这个删除的元素。

var 

合并和拆分

concat() 将两个数组合并并且返回一个新的数组。原来的两个数组不变。

slice() 截取数组的一部分,返回一个新的数组。参数都是索引值。

Var 

如果只有一个参数,是开始位置,从这个位置开始截取到数组的结尾。

参数可以是负值。

Var 

删除、添加、替换:

splice() 找到指定位置的元素删除,替换成新的元素。

参数只有两个:删除,第一个参数是起始位置的索引值,第二个参数是删除的长度。

添加:第二个参数值是0,后面的参数要有其他的新元素。

替换:把指定的删除,在原位置添加新的元素。

倒序和排序:

倒序:reverse() 将数组里面的数据的顺序完全颠倒。

排序:sort() 会按照某种顺序来给我们排序。

默认的情况:用字符编码顺序,来排序。

有对比函数参数:

var 

数组转字符串:

join() 有一个参数,如果传递就用它做连字符,如果没有默认用逗号链接。

字符串的属性和方法

2.1 属性

Length 返回字符串的长度

var 

ecd12c28ee0e13d113d704e61bb32480.png

字符串的长度包括:汉字、英文字母、空格、和特殊符号,每一个都占了一个长度。

2.2 方法

charAt() 返回在指定位置的字符。

Character 字符的意思

这个参数就是字符串的下标。索引值也是从0开始。

console

Concat() 连接字符串。

可以连接两个或多个字符串,并且返回一个新的字符串,原来的字符串不受影响。

var 

63bc3bf348b7b63640bb83dfb6ddff0c.png

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

从字符串前面开始找,找到第一个符合的字符串,输出它的索引值。

console

01422e48687f884dbfd79358749c2cc1.png

lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。

注意:输出的是最后一个出现的位置的索引值,不是从后面数第几个。

console

5b53e65a7d254d4dacc9285f8b6de56c.png

slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

Start:截取开始的位置,包括。

End:结束的索引值位置,不包括这个位置。

var 

2bbd0ad9c254eaee8426449e4e4f11c2.png

也可以只传一个参数:截取到最后。

可以传递负的参数。

split() 方法用于把一个字符串分割成字符串数组。

参数:就是我们的分隔符。

var 

318591133f7b780fe893197aab59034c.png

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

截取从指定位置开始的指定长度的字符串片段。

var 

c774cbcac24aa00a469621b3a26634cd.png

也可以只输入一个参数:从起始位置截取到最后。它可以等价于slice方法只传一个数值。

var 

98f3913d2ea2e19162ae6323fa2f11b5.png

第一个参数可以传负值。

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

var 

0e50f994bbae729bf97d5f057985c3c5.png

从起始位置开始截取到结束位置,不包括结束位置。

substring与slice和substr不同:可以颠倒参数的顺序。

var 

ad922afb75c7dd23c9072fa84dcb2279.png

不同点:substring不能传负值。

substr能传负值

转换大小写:

toLowerCase() 方法用于把字符串转换为小写。

toUpperCase() 方法用于把字符串转换为大写。

var 

练习:把字符串“i love math very much”每个单词的首字母大写。

//首字母大写

如上


链接等我基本做完就全部放上来...

此文章是原创,若是转载,请联系本人并表明出处,感谢阅读.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值