JavaScript

数据类型

原始类型(基础类型)

数值;字符串;布尔值

合成类型(复合类型)

对象:因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。

undefined和null:一般将它们看成两个特殊值。null一般代表对象为“没有‘,undefined一般代表数值为”没有“。

ES6新出的Symbol BinInt

Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。

bigInt。是指安全存储、操作大整数。(但是很多人不把这个做为一个类型)。

运算符之布尔运算符

用于将表达式转为布尔值,取反运算符 !、且运算符 &&、或运算符 ||

取反运算符(!)

对于非布尔值,取反运算符会将其转为布尔值,以下六个值取反后为true,其他值都为false。

undefined、null、false、0、NaN、空字符串(‘’)
:NaN属性代表一个”不是数字“的值,这个特殊的值是因为运算不能执行而导致的,不能执行的原因是 运算对象之一非数字或者运算结果非数字。NaN类型为Number,NaN和任何东西比较(===)包括他自己都是false

break和continue

break 跳出整个循环,continue跳出本次循环,进入下次循环

字符串方法

charAt()

charAt 方法返回指定位置的字符,参数是从 0 开始编号的

如果参数为负数,或大于等于字符串的长度, charAt 返回空字符串

concat()

concat 方法用于连接两个字符串,返回一个新字符串,不改变原字符串。该方法可以接受多个参数。

如果参数不是字符串, concat 方法会将其先转为字符串,然后再连接。

concat和+的区别:
concat不管什么类型直接合并成字符串
加号遇到数字类会做运算,遇到字符串相连接

substring()

substring 方法用于从原字符串取出子字符串并返回,不改变原字符串。

它的第一个参数表示子字符串的开始位置,第二个位置表示结束位置(返回结果不含该位置)

如果省略第二个参数,则表示子字符串一直到原字符串的结束

如果第一个参数大于第二个参数, substring 方法会自动更换两个参数的位置

如果参数是负数, substring 方法会自动将负数转为0

substr()

substr 方法用于从原字符串取出子字符串并返回,不改变原字符串,跟 substring 方法的作用相同

substr 方法的第一个参数是子字符串的开始位置(从0开始计算),第二个参数是子字符串的长度

如果省略第二个参数,则表示子字符串一直到原字符串的结束

如果第一个参数是负数,表示倒数计算的字符位置。如果第二个参数是负数,将被自动转为0,因此会返回空字符串

indexOf()

indexOf 方法用于确定一个字符串在另一个字符串中第一次出现的位置,返回结果是匹配开始的位置。如果返回 -1 ,就表示不匹配

indexOf 方法还可以接受第二个参数,表示从该位置开始向后匹配

trim()

trim 方法用于去除字符串两端的空格,返回一个新字符串,不改变原字符串

该方法去除的不仅是空格,还包括制表符( \t 、 \v )、换行符( \n )和回车符( \r )
ES6扩展方法:trimEnd() 和 trimStart() 方法

"   itbaizhan   ".trimEnd(); //   itbaizhan
"   itbaizhan   ".trimStart(); // itbaizhan  

split()

split 方法按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组

如果分割规则为空字符串,则返回数组的成员是原字符串的每一个字符。

如果省略参数,则返回数组的唯一成员就是原字符串

split 方法还可以接受第二个参数,限定返回数组的最大成员数。

for in 和 for of 数组遍历

两者都可以用于遍历,不过for in遍历的是数组的索引(index)即键名,而for of遍历的是数组元素值(value)
for in
1、索引是字符串型的数字,因而不能直接进行几何运算
2、遍历顺序可能不是实际的内部顺序
3、for in会遍历数组所有的可枚举属性,包括原型。例如的原型方法method和name属性
for of:
for of不支持普通对象,想遍历对象的属性,可以用for in循环, 或内建的Object.keys()方法:
Object.keys(myObject)获取对象的实例属性组成的数组,不包括原型方法和属性

for (var key of Object.keys(Object))
    console.log(key + ": " + Object[key])

一般用for in遍历对象 for of 遍历数组

数组方法

数组静态方法 Array.isArray()

Array.isArray 方法返回一个布尔值,表示参数是否为数组。它可以弥补typeof 运算符的不足

push()/pop()

push 方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组

pop 方法用于删除数组的最后一个元素,并返回该元素。注意,该方法会改变原数组

shift()/unshift()

shift 方法用于删除数组的第一个元素,并返回该元素。注意,该方法会改变原数组,shift 方法可以遍历并清空一个数组

unshift 方法用于在数组的第一个位置添加元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组

unshift 方法可以接受多个参数,这些参数都会添加到目标数组头部

join()

join 方法以指定参数作为分隔符,将所有数组成员连接为一个字符串返回。如果不提供参数,默认用逗号分隔

如果数组成员是 undefined 或 null 或空位,会被转成空字符串

[undefined, null].join('#') // '#'
 ['a',, 'b'].join('-') // 'a--b'

数组的 join 配合字符串的 split 可以实现数组与字符串的互换

concat()

concat 方法用于多个数组的合并。它将新数组的成员,添加到原数组成员的后部,然后返回一个新数组,原数组不变

除了数组作为参数, concat 也接受其他类型的值作为参数,添加到目标数组尾部。

reverse()

reverse 方法用于颠倒排列数组元素,返回改变后的数组。注意,该方法将改变原数组

indexOf()

indexOf 方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回 -1

indexOf 方法还可以接受第二个参数,表示搜索的开始位置

对象

对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合

如果一个属性的值为函数,通常把这个属性称为“方法”,它可以像函数那样调用

如果属性的值还是一个对象,就形成了链式引用

Math对象

Math是 JavaScript 的原生对象,提供各种数学功能

Math.abs() 返回参数值的绝对值

Math.max 方法返回参数之中最大的那个值, Math.min 返回最小的那个值。如果参数为空, Math.min 返回 Infinity , Math.max 返回 -Infinity 。

Math.floor 方法返回小于参数值的最大整数,Math.ceil 方法返回大于参数值的最小整数

Math.random() 返回0到1之间的一个伪随机数,可能等于0,但是一定小于1

Date对象

Date 对象是 JavaScript 原生的时间库。它以1970年1月1日00:00:00作为时间的零点,可以表示的时间范围是前后各1亿天(单位为毫秒)

Date.now 方法返回当前时间距离时间零点(1970年1月1日 00:00:00UTC)的毫秒数,相当于 Unix 时间戳乘以1000
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

Date 对象提供了一系列 get* 方法,用来获取实例对象某个方面的值

getTime():返回实例距离1970年1月1日00:00:00的毫秒数
getDate():返回实例对象对应每个月的几号(从1开始)
getDay():返回星期几,星期日为0,星期一为1,以此类推
getYear():返回距离1900的年数
getFullYear():返回四位的年份
getMonth():返回月份(0表示1月,11表示12月)
getHours():返回小时(0-23)
getMilliseconds():返回毫秒(0-999)
getMinutes():返回分钟(0-59)
getSeconds():返回秒(0-59)

document对象_方法/获取元素

document.getElementsByTagName()

document.getElementsByTagName 方法搜索 HTML 标签名,返回符合条件的元素。它的返回值是一个类似数组对象( HTMLCollection 实例),可以实时反映 HTML 文档的变化。如果没有任何匹配的元素,就返回一个空集

var paras =document.getElementsByTagName('p')

如果传入 * ,就可以返回文档中所有 HTML 元素

document.getElementsByClassName()

document.getElementsByClassName 方法返回一个类似数组的对象( HTMLCollection 实例),包括了所有 class 名字符合指定条件的元素,元素的变化实时反映在返回结果中

由于 class 是保留字,所以 JavaScript 一律使用 className 表示 CSS 的 class,参数可以是多个 class ,它们之间使用空格分隔

var paras =document.getElementsByClassName('foo bar')

document.getElementsByName()

document.getElementsByName 方法用于选择拥有 name 属性的 HTML 元素(比如 、 、 等),返回一个类似数组的的对象( NodeList 实例),因为 name 属性相同的元素可能不止一个

// 表单为 <form name="itbaizhan"></form>
var forms 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值