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类

  1. 常用的数

常用的无理数的表示方法

  • Math.E e
  • Math.PI 圆周率 3.141592653589793
  • Math.SQRT2 2的平方根
  • Math.LN2 2的自然对数
  1. 向上取整

Math.ceil(x)

  • 返回大于等于x且离x最近的整数
  1. 向下取整

Math.floor(x)

  • 返回小于等于x且离x最近的整数
  1. 随机数

Math.random()

  • 返回0到1之间的一个随机数,包含0不包含1
  1. 平方根

Math.sqrt(x)

  • 返回x的平方根
  1. 其他方法
  • 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错误

  1. try-catch捕获和处理错误
  2. throw exception;创建自定义错误

总结

小小励志

有些事你现在不做,一辈子都不会做了。
如果你想做一件事,全世界都会为你让路。
《搭车去柏林》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值