JavaScript学习手册三
文章目录
- 前言
- 一、JS对象
- 1. 定义
- 2. 创建对象
- 3. 属性的增删改查
- 二、字符串
- 1. 查找字符串位置
- 2. 求指定位置的字符
- 3. 字符串的截取
- 4. 大小写转换
- 5. 字符串的分割
- 对象编程
- 1. Math类
- 2.Date类
- 3.JavaScript错误
- 总结
前言
本博客仅做学习笔记,如有侵权,联系后即刻更改
科普:
一、JS对象
JavaScript中的一切都是对象
1. 定义
2. 创建对象
- 对象字面量
var song = { }- new 创建
var Store = new Object();//创建对象的一个实例- 函数创建
工厂方法和构造函数:
function Store(name,location,salesVolume) {- 原型(prototype)创建
用new关键字加函数的模式创建一个对象时,这个对象就会有一个默认的不可见的属性[[Prototype]],该属性的值就是上面提到的原型对象
JavaScript中每个对象都有一个属性[[Prototype]]
指向它的原型对象,该原型对象又具有一个自己的[[Prototype]]
层层向上直到一个对象的原型为null
根据定义,null 没有原型,并作为这个原型链中的最后一个环节
3. 属性的增删改查
属性的获取
- 使用.符号
属性名必须是静态的字符串
即不能是通过计算或者字符串的拼接形成的字符串- 使用[“”]符号
属性名可以是一个表达式
只要表达式的值是一个字符串即可必须使用第二种方式的情况
- 属性名含有空格字符,如student[“first name”],这时不能用student.first name代替,编译器无法解释后者
- 属性名动态生成,比如用for循环获取前端连续id的值,这种id名之间一般有特定关系
下面的例子:
for(int i = 0;i < 5;i ++) {
console.log(student[“id”+i]);
}
属性的删除
- delete运算符
删除成功返回布尔型true,删除失败也是返回true
所以在删除之前需要判断一个属性是否存在
对象只能删除自己特有的属性,而不能删除继承自原型对象的属性。
同时,对象在删除属性时,要防止删除被其他对象继承的属性
二、字符串
1. 查找字符串位置
indexOf(a,b)
- 参数a是字符串
- b是开始查找的位置,即从调用者(一个字符串)的第几个位置开始查找,可选
- 返回某个字符串在字符串中首次出现的位置
如果搜索到尾部还没有找到,返回-1
lastIndexOf(),用法同indexOf
2. 求指定位置的字符
charAt()
- 返回调用者指定位置的字符,位置从0计数
3. 字符串的截取
slice(a,b)
- 截取a位置(含)到b位置(不含)之间的字符串
- 被截取的字符串不变,返回截取后获得的子字符串
- b为可选参数,不填则表示截取到字符串的尾部
- a或b为负数时表示从右往左排,即-1表示最右侧的位置
substring()
- 与slice()的参数的处理有些不同:
a或b为负数时,自动转换为0;
a大于b时,编译器会自动对调两者。substr()
- a表示开始位置(包含)
- b表示截取的长度,可选。不填则截取到字符串结尾处
- a为负数时表示从右往左排,即-1表示最右侧的位置
4. 大小写转换
toLowerCase()
- 把字符串中的所有大写英文字母转为小写
- 返回转换后的字符串,但是操作该函数的字符串不变
toUpperCase()语法类似
5. 字符串的分割
split(a,b)
- 参数a是分割符,原来的字符串以该分隔符为边界,分为若干个子字符串(不含该分隔符)
a也可以是一个正则表达式- b表示返回的数组的最大长度,不填表示返回所有子字符串组成的数组
对象编程
1. Math类
- 常用的数
常用的无理数的表示方法
- Math.E e
- Math.PI 圆周率 3.141592653589793
- Math.SQRT2 2的平方根
- Math.LN2 2的自然对数
- 向上取整
Math.ceil(x)
- 返回大于等于x且离x最近的整数
- 向下取整
Math.floor(x)
- 返回小于等于x且离x最近的整数
- 随机数
Math.random()
- 返回0到1之间的一个随机数,包含0不包含1
- 平方根
Math.sqrt(x)
- 返回x的平方根
- 其他方法
- Math.abs(x) 求x的绝对值
- Math.pow(x,y) 计算x的y次幂
- Math.exp(x) e的x次方
- Math.log(x) x以e为底的对数
- Math.sin(x) x的正弦
- Math.cos(x) x的余弦
- Math.tan(x) x的正切
- Math.asin(x) x的反正弦
- Math.acos(x) x的反余弦
- Math.atan(x) x的反正切(-PI/2到PI/2之间)
- Math.atan2(y,x) x轴到点(x,y)的角度 (-PI/2到PI/2之间)
2.Date类
Date类用于处理日期和时间
Date(x)
new Date();//无参数,返回当前时间
new Date(millseconds);//参数为距离1970年1月1日8时0分0秒0毫秒的毫秒数,返回对应的时间
new Date(timeString);//参数为时间字符串,返回这个时间字符串对应的时间
new Date(year,month,day,hour,minute,second,millsecond);//参数为整数序列,分别表示年、月、日、时、分、秒、毫秒,返回这些时间参数对应的一个特定的时间
3.JavaScript错误
- try-catch捕获和处理错误
- throw exception;创建自定义错误
总结
小小励志
有些事你现在不做,一辈子都不会做了。
如果你想做一件事,全世界都会为你让路。
《搭车去柏林》
JavaScript学习手册三相关推荐
- JavaScript 学习手册二
JavaScript 学习手册二:JS 数据类型 第1关:JavaScript 数据类型介绍 任务描述 本关任务:在函数 objectTest() 内部定义了六个变量 a.b.c.d.e.f,并已经赋 ...
- JavaScript学习(三十九)—对象中内容的操作
JavaScript学习(三十九)-对象中内容的操作 一.对象中内容的操作:增.删.改.查 (一).增:给对象添加属性或者方法 1)方式1:对象名称.属性名=属性值: 2)方式2:对象名称['属性名' ...
- JavaScript学习(三十八)—面向过程与面向对象
JavaScript学习(三十八)-面向过程与面向对象 一.程序设计语言中的两大编程思想:面向对象.面向过程 (一).面向过程 就是指完成某个需求的时候,先分析出完成该需求时所需要经历的步骤有哪些,然 ...
- JavaScript学习(三十七)—实现右键自定义菜单的功能
JavaScript学习(三十七)-实现右键自定义菜单的功能 代码如下: <!DOCTYPE html> <html lang="en"><head& ...
- JavaScript学习(三十六)—移动的小球
JavaScript学习(三十六)-移动的小球 代码如下: <!DOCTYPE html> <html lang="en"><head>< ...
- JavaScript学习(三十五)—拖动元素
JavaScript学习(三十五)-拖动元素 代码如下: <!DOCTYPE html> <html lang="en"><head><m ...
- JavaScript学习(三十四)—事件委托
JavaScript学习(三十四)-事件委托 (一).什么是事件委托? 所谓的事件委托就是指将事件添加到祖先元素身上,依据事件冒泡的原理(就是指事件的执行顺序是从当前元素逐步扩展到祖先元素,直到扩展到 ...
- JavaScript学习(三十三)—事件对象常用的属性和方法
JavaScript学习(三十三)-事件对象常用的属性和方法 (一).type属性 <style>#box {width: 200px;height:
- JavaScript学习(三十二)— Keycode常用键位码对照表
JavaScript学习(三十二)- Keycode常用键位码对照表 (一).字母和数字键的键码值(keyCode) (二).控制键键码值(keyCode) (三).多媒体键码值(keyCode)
最新文章
- 为Keil添加注释的快捷键
- scrapy爬取京东
- 非官方构建的 Windows 下的 Atom 编辑器
- 50 招教你防止黑客入侵,适用于入门小白到专业人员
- 真正的mybatiesPlus一键生成模板(根据对象增删改查分页的controller完善)详
- nagios扩展开发之check_ping
- 网络中看不见的五大重要安全隐患
- 操作系统课程设计之页面置换算法(流程模拟)
- 一种传统发酵彝药有效抑制新冠病毒的复制体外研究
- 2.《JSP应用开发案例教程》第1章 JSP概述
- android toast 显示在最上面,Android Toast在屏幕上移动
- wlan、wifi、蜂窝、无线局域网的区别
- 中国地质大学英语语音学习笔记(六):英语连读——辅音连缀与爆破音读好,让连读更顺畅
- [生存志] 第136节 相如辞赋神来之笔
- 利用微信公众号实现商品的展示和支付(2)
- walking机器人入门教程-视觉转激光建图-cartographer算法建图
- 普通家用电风扇电机绕组
- 虎书学习笔记3:图形学基础数学(正交基与坐标系、二维梯度)
- 文件篮的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- URL 重写就是把URL地址重新改写(汗^_^)。