/*
- arguments 浏览器会给我们传递进两个隐含的参数
-
- 函数的上下文对象 this
-
- 封装实参的对象 arguments
-
- arguments是一个类数组对象,他可以通过索引来操作数据,也可以获取长度
-
- 在调用函数时,我们所传递的实参都会在arguments中保存
-
- arguments.length可以用来获取实参的长度
-
- 我们即使不定义形参,也可以通过arguments来使用实参
-
只不过比较麻烦
-
arguments[0] 第一个实参
-
arguments[1] 第一个形参
-
- arguments还有一个callee属性
-
这个属性对应的就是当前赈灾指向函数的对象
- */
// function fun(){
// console.log(arguments instanceof Array) //检查一个对象是不是数组的两种方法
// console.log(Array.isArray(arguments)) // arguments是一个伪数组 所有两个方法方法返回false
// console.log(arguments[0]) //返回zjx 即使不定义形参 也能获取到实参的
// console.log(arguments.callee) //callee属性 对应的是一个函数对象 就是当前正在执行函数的对象 fun
//
// }
// fun(“zjx”,23)
// 内建对象 Date对象 函数
/*
-
在js中使用Date对象表示一个时间
-
如果使用直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间
- */
// var time=new Date()//执行的时间
//创建一个指定的时间对象
//需要在构造函数中传递一个表示时间的字符串作为参数
// 日期的格式 月份/日/年 时:分:秒 记住年份一定要写完整的 不然会出现歧义
// var time2=new Date(“11/03/2019 11:10:30”)
// console.log(time2)
/*
*
- Math 普通对象 他不是一个构造函数 属于属于一个工具类,他里面封装了数学运算相关的方法
-
- 比如
-
Math.PT 表示圆周率
-
- 方法:
-
Math.abs()取绝对值
-
Math.ceil() 对数进行向上取整 不管小数后面是多少 自动进一
-
Math,floor() 对数进行向下取整,小数会被舍弃
-
Math.round() 对数进行四舍五入
-
Math.random() 0-1之间的数 不包括1和0
-
生成一个0-10的整数
-
Math.round( Math.random()*10)
-
生产一个0-X之间的随机数
-
Math.round( Math.random()*X)
-
生成一个x-y
-
Math.round( ( Math.random()*y-x) + x)
-
Math.max() 可以获取多数中的最大值
-
Math.min() 可以获取多数中的最小值
-
Math.pow(X,Y) 返回X的Y次幂 返回X的Y次方
-
Math.pow() 用于对一个数进行开方那个运算
- */
/*
-
**包装类**
-
基本数据类型 number string boolean null undefined
-
引用数据类型 Object
-
在js中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象
-
String()
-
- 可以将基本数据类型字符串转换为String对象
-
Number()
-
- 可以将基本数据类型数字转换为Number对象
-
Boolean()
-
- 可以将基本数据类型的布尔值转换为Boolean对象
-
但是在我们实际开发应用中我们不会使用基本类型的对象
-
如果使用借本数据类型的对象,在做一些比较时 可能会带来一些不可预期的结果
-
var num=new Number(3) object 可以在num里面添加属性(功能强大)
-
var num=3 --------- number 不可以
- */
// var c= new Boolean(false) //对象转为boolean都是true
// var c= new Boolean("") //对象转为boolean都是true
// var c= new Boolean(undefined) //对象转为boolean都是true
// var c= new Boolean(null) //对象转为boolean都是true
/*方法和属性只能添加给对象
- 当我们对一些基本数据类型的值取调用方法和属性时
-
我们浏览器会临时用包装类转换为对象,如何在调用对象的属性和方法
-
调用完以后,在将其转换为基本数据类型 所以我们才能对基本数据类型调方法
-
会销毁临时的包装类
- */
字符串对象方法
-
- 在底层字符串时以字符数组的形式保存的(操作字符串联系数组)
-
"zjx"
-
["z","j","x"]
-
- 属性:length,[索引]
-
- 方法:大部分不会对原字符串产生影响
-
charAt() charAt(0)
-
-可以适用字符串中指定位置的字符(根据索引获取指定字符)
-
charCodeAt()
-
- 用来返回指定位置字符的的Unicode编码
-
* fromCharCode() String.fromCharCode(72)--->"H"
-
- 可以根据字符编码 获取字符(需要通过String来调)
-
concat() 作用跟 + 号差不多
-
- 可以用来连接两个或多个字符串
-
indexOf() 检索字符串
-
- 该方法可以检索一个字符串中是否还有指定内容 (返回索引)
-
如果字符串含有该内容。则会返回第一次出现的索引
-
如果没有找到,则返回 (-1)
-
- 该方法的第二个参数 指定从第几个字符的索引开始查找
-
indexOf('Z',5)表示从索引为5的字符开始往后寻找Z字符
-
lastIndexOf()
-
- 该方法与indexOf()方法使用一样,
-
- 而 lastIndexOf()从后往前找
-
- 也可以指定第二个参数 从第几个开始找
-
var a='zjxshnik'
-
var b=a.indexOf('i') //6
-
var c=a.lastIndexOf('i') //6
-
console.log(b,c)
-
slice()
-
- 可以从字符串中截取指定的内容
-
不回影响元字符串,而是将截取到的内容返回
-
-参数
-
第一个,开始位置的索引 (包括)
-
第二个,结束位置的索引 (不包括) 可以为负数 从后边计算
-
subtring()
-
- 可以用来截取一个字符串,跟slice()类似
-
-参数
-
第一个:开始截取位置的索引(包括)
-
第二个:结束截取位置的索引(不包括)
-
- 不同的是:
-
substring()不能传负数作为参数 如果传递赋值 默认为 0
-
而且会自动调整参数的位置 第二个参数 小于第一个,则自动交换
-
substring(0,1)==substring(1,0)
-
substr() 反对使用(了解,没有兼容性问题 )
-
-用来截取字符串
-
-参数:
-
第一个:截取开始位置的索引
-
第二个:截取的长度
-
split()
-
-可以将一个字符串拆分为一个数组
-
-参数:
-
需要一个字符串作为参数,将会根据这个字符串取拆分数组
-
如果传递一个空串,则会将每一个字符都才分为数组中的元素
-
toUpperCase()
-
- 将一个字符串转换为大写并返回
-
toLowerCase()
-
- 将一个字符串转换为小写写并返回
-
!!! 以上方法都不会改变原字符串
*/