成都便宜网站建设公司哪家好,专业的企业网站建设,精准网络营销推广,design网站目录 前言
正文
对象#xff1a;
分类#xff1a;
自定义对象#xff1a;
内置对象#xff1a;
重点#xff1a;
常用内置对象#xff1a;
字符串对象#xff1a;String
获取字符串长度#xff1a;
大小写转换#xff1a;
获取某个字符#xff1a;
截取字…目录 前言
正文
对象
分类
自定义对象
内置对象
重点
常用内置对象
字符串对象String
获取字符串长度
大小写转换
获取某个字符
截取字符串
替换字符串
例子
检索字符串的位置
数组对象Array
前提
重要
补充
创建
获取某一项值
赋值
数组长度
截取数组某一部分
添加元素
数组头添加
数组尾添加
删除元素
数组头删除
数组尾删除
总结
数组排序
up
down:
数组反向
日期对象Date
获取
两大类方法
get方法
set方法
总结
Math对象Math
引入
使用
属性
总结
方法
最值
正余弦
取整
随机数
写在最后 前言
上篇看这里前端JS总结上
上期从语法去学习了JS这期讲点硬核的关于JS中的内置对象。
因为篇幅过长其他内容则放到下篇我是没想到的一个内置对象能整这么久。 精读一本书胜过看N个视频。 这次看的书是 吴振杰的《Web前端开发精品课 HTML CSS JavaScript基础教程》 17年出版的。 不出意外的话这估计就是压轴文章了~respect
那么咱们开始吧 正文
对象
分类 自定义对象、内置对象 自定义对象 自己定义的对象比如说对象、数组等 内置对象 不需要自己定义的对象可以直接使用的对象跟内置函数是一致的。 重点 属性和方法的区别方法是有返回值的但是属性是没有的。 常用内置对象 字符串对象String 数组对象Array 日期对象Date 数学对象Math 为了行文流畅下面一个一个说。
字符串对象String
获取字符串长度 方法使用length属性 使用str.length 注意空格本身也是一个字符 例子获取一串数字的长度 实现数字空字符即可转化为字符串再使用length属性即可返回长度值 以下都是方法注意返回值。 大小写转换 方法toUpperCase()、toLowerCase()方法记得这个方法是符合驼峰命名的 注意属性和方法是不一样的方法有返回值属性没有属性调用不需要带括号但是方法是函数需要带括号这两个方法都是直接把全部英文字符转换为对应格式的。 返回值处理完之后的字符串 获取某个字符 方法charAt(index) 解析index是整数是下标下标从0开始str.length index 1 注意空格也是字符字符之间的比较是比较ASCII值的大小 返回值返回第index个字符 截取字符串 方法subString(start, end) 解析start是开始的下标end是结束下标 截取范围[start, end)也就是不包括end 注意下标从0开始 返回值截取下来的字符串/字符 替换字符串 方法replace(原字符串, 替换字符串) / replace(正则表达式, 替换字符串) 注意不管是哪种方式第二个参数都是替换字符串可以进行部分/整体替换一般都是替换一个正则表达式不是字符串所以不需要带双引号正则表达式中的/g表示全局替换的意思也就是全局替换全部的原字符串 返回值替换完成后的新字符串 例子 let str 这是一个字符串但是这不是一个对象
;et str_1 str.replace(一个, ) // 只替换第一个
let str_2 str.replace(/一个/g, ) // 全局替换
console.log(str_1, str_2) // 控制台输出 分割字符串 方法split(分隔符) 注意分隔符可以是个字符、多个字符、正则表达式空格也是一个字符也可以被分割保留下来 返回值一个数组数组里面就是分割完之后的字符串碎片 重要str.split()和str.split( )的区别前者没有空格直接按字符分割后者有空格以空格为分割线分割成一个一个块。 类似数组对象中的join()两者经常配合一起使用 检索字符串的位置 方法indexOf(str)驼峰命名法 解析str是需要检索的字符串/字符 注意如果没有找到返回-1下标从0开始str是字符串需要双引号 对应方法lastIndexOf(str)指定字符串最后出现的下标位置 返回值下标/-1 数组对象Array
前提 一个变量只能存储一个值 那么我们怎么一个变量存储一类值呢 即答数组 重要 数组是一个引用数据类型——对象的一种不是基本数据类型 数组的下标从0开始这是今晚打字最多的一句话了。 补充 如果arr[index]不存在返回的是undefined 创建 let arr new Array(元素1, 元素2, 元素3, ....) // 完整形式 let arr [元素1, 元素2, 元素3, ...] // 简写形式语法糖 获取某一项值 arr.[index]即可index从0开始算起 赋值 含义给某一项元素赋新值或者多增加一项元素 方法arr[index] new value 数组长度 length属性即可获取数组的长度 arr.length 截取数组某一部分 对比截取字符串对象中的某部分——subString()返回的是截取的部分 方法slice(start, end)slice中文——切片 截取范围[start, end)也就是说不包括end部分注意这个下面会继续提到 返回值截取的数组 添加元素
分为在数组头添加在数组尾添加
数组头添加 方法unshift(新元素1, 新元素2, ...) 注意这个方法会改变原数组返回的是新数组 返回值新数组 数组尾添加 方法push(新元素1, 新元素2, ...)、 注意这个方法会改变原数组返回的是新数组 返回值新数组 删除元素
这个跟添加元素是一样的都是分为从数组头删除从数组尾删除
数组头删除 方法shift() 注意这个方法会改变原数组返回的是新数组但是只会删除一个 返回值新数组 数组尾删除 方法pop() 注意这个方法会改变原数组返回的是新数组但是只会删除一个 返回值新数组 总结 unshift()、push()、shift()、pop()都会改变原数组 数组排序 方法sort(函数名/空) 注意函数名定义顺序/逆序排布的函数名函数名为空的时候只会比较数字中第一个数字而不是整体大小 例子升序——arr.sort(up)arr.sort(down) 返回值新数组 - 覆盖原数组 up function up(a, b) {return a - b
} down: function down(a, b) {return b - a
} 数组反向 方法reverse() 作用将数组反向 返回值新数组 - 覆盖原数组 数组元素连接成字符串 方法join(连接符) 注意连接符 - 可选参数如果不写默认是英文逗号 区别join()和join( )的区别跟字符串对象的split()方法差不多 返回值字符串 日期对象Date
获取 let date new Date() 两大类方法 get和set方法 get方法 getFullYear()获取年份返回四个整数 getMonth()获取月份返回的是0-11的整数所以月份需要1显示 getDate()获取日数返回的是1-31的整数 下面都是带s的 getHours()获取小时数取值为0-23的整数 getMinutes()获取分钟数取值为0-59的整数 getSeconds()获取秒钟数取值为0-59的整数 set方法 setFullYear()设置年月日 setMonth()设置月日 setDate()设置日 下面都是带s的 setHours()设置时分秒毫秒 setMinutes()设置分秒毫秒 setSeconds()设置秒毫秒 总结 月份从0开始所以正常的月份应该1 get方法只能获取到对应的内容 set方法不能能设置对应的内容还可以设置比其小的内容但是对应的内容是必选其他内容是可选一般来说我们都默认是不可选的 getDay()获取星期0表示星期天其他则正常返回值是0-6的数字如果要转化为成周几需要自己手动去创建一个数组根据返回值来取对应值 Math对象Math
这是最后一个对象写完这里下期说说DOM操作了。
引入 设计、动画开发、高级编程、算法研究等跟数学有很大的关系 使用 不需要new来创建一个Math对象直接使用Math.属性/方法即可 Math.属性 / Math.方法 属性 PI圆周率角度Math.PI / 180 * 角度值 总结 Math属性都是常量所以都是大写 只需要掌握Math.PI即可别的我都没写 角度值非常重要canvas需要使用 上面这些就是属性了下面介绍方法 方法
最值 最大值Math.max(一堆数字)返回最值 最小值Math.min(一堆数字)返回最值 注意如果想要获取数组的最值我们需要使用语法糖...arr——展开运算符的方式进行 正余弦 sin(x)、cos(x)、atan2(x) 总结常用于做动画不说 取整 floor(x)向下取整往小了去取值 ceil(x)向上取整往大了去取值 总结不会四舍五入都是往最值去取值 随机数 random(x)生成0-1之间的随机数范围[0, 1)不包含1 常用 Math.random()*m表示生成[0, m)之间的随机数 Math.random()*mn表示生成[n, m n)之间的随机数 Math.random()*m-n表示生成[-n, m - n)之间的随机数 Math.random()*m-m表示生成[-m, 0)之间的随机数 注意 这里生成的都是范围内的随机数可以是整数也可以是小数 如果要整数需要使用Math.floor() / Math.ceil()方法但是一般都是采用floor而不是ceil 其他方法 返回值abs(x)返回绝对值正数是本身负数是绝对值 平方根sqrt(x)返回X的平方根 写在最后
这次只说了内置对象本来还想写一下DOM操作的但是发现篇幅太长了。
不过刚好这个内置对象就是一个重点中的重点独立出来成为一篇其实也是不错的。 那么就这样吧。
下期DOM操作再见