文章目录

  • 前言
  • 一、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类

  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;创建自定义错误

总结

小小励志

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

JavaScript学习手册三相关推荐

  1. JavaScript 学习手册二

    JavaScript 学习手册二:JS 数据类型 第1关:JavaScript 数据类型介绍 任务描述 本关任务:在函数 objectTest() 内部定义了六个变量 a.b.c.d.e.f,并已经赋 ...

  2. JavaScript学习(三十九)—对象中内容的操作

    JavaScript学习(三十九)-对象中内容的操作 一.对象中内容的操作:增.删.改.查 (一).增:给对象添加属性或者方法 1)方式1:对象名称.属性名=属性值: 2)方式2:对象名称['属性名' ...

  3. JavaScript学习(三十八)—面向过程与面向对象

    JavaScript学习(三十八)-面向过程与面向对象 一.程序设计语言中的两大编程思想:面向对象.面向过程 (一).面向过程 就是指完成某个需求的时候,先分析出完成该需求时所需要经历的步骤有哪些,然 ...

  4. JavaScript学习(三十七)—实现右键自定义菜单的功能

    JavaScript学习(三十七)-实现右键自定义菜单的功能 代码如下: <!DOCTYPE html> <html lang="en"><head& ...

  5. JavaScript学习(三十六)—移动的小球

    JavaScript学习(三十六)-移动的小球 代码如下: <!DOCTYPE html> <html lang="en"><head>< ...

  6. JavaScript学习(三十五)—拖动元素

    JavaScript学习(三十五)-拖动元素 代码如下: <!DOCTYPE html> <html lang="en"><head><m ...

  7. JavaScript学习(三十四)—事件委托

    JavaScript学习(三十四)-事件委托 (一).什么是事件委托? 所谓的事件委托就是指将事件添加到祖先元素身上,依据事件冒泡的原理(就是指事件的执行顺序是从当前元素逐步扩展到祖先元素,直到扩展到 ...

  8. JavaScript学习(三十三)—事件对象常用的属性和方法

    JavaScript学习(三十三)-事件对象常用的属性和方法 (一).type属性 <style>#box {width: 200px;height:

  9. JavaScript学习(三十二)— Keycode常用键位码对照表

    JavaScript学习(三十二)- Keycode常用键位码对照表 (一).字母和数字键的键码值(keyCode) (二).控制键键码值(keyCode) (三).多媒体键码值(keyCode)

最新文章

  1. 为Keil添加注释的快捷键
  2. scrapy爬取京东
  3. 非官方构建的 Windows 下的 Atom 编辑器
  4. 50 招教你防止黑客入侵,适用于入门小白到专业人员
  5. 真正的mybatiesPlus一键生成模板(根据对象增删改查分页的controller完善)详
  6. nagios扩展开发之check_ping
  7. 网络中看不见的五大重要安全隐患
  8. 操作系统课程设计之页面置换算法(流程模拟)
  9. 一种传统发酵彝药有效抑制新冠病毒的复制体外研究
  10. 2.《JSP应用开发案例教程》第1章 JSP概述
  11. android toast 显示在最上面,Android Toast在屏幕上移动
  12. wlan、wifi、蜂窝、无线局域网的区别
  13. 中国地质大学英语语音学习笔记(六):英语连读——辅音连缀与爆破音读好,让连读更顺畅
  14. [生存志] 第136节 相如辞赋神来之笔
  15. 利用微信公众号实现商品的展示和支付(2)
  16. walking机器人入门教程-视觉转激光建图-cartographer算法建图
  17. 普通家用电风扇电机绕组
  18. 虎书学习笔记3:图形学基础数学(正交基与坐标系、二维梯度)
  19. 文件篮的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  20. URL 重写就是把URL地址重新改写(汗^_^)。

热门文章

  1. freemarker的<#macro>标签理解
  2. 大饼破万,以太飞天,牛来了还是狼来了?
  3. 【前端】过渡(transition)
  4. python argparse 简介
  5. Advanced Installer打包msi文件操作流程
  6. 江西财经大学智慧江财登录分析
  7. Java开源生鲜电商平台-支付模块的设计与架构(源码可下载)
  8. http请求头header、请求体body、请求行介绍
  9. 2023年,软件测试怎么样?
  10. 如果你有一个ods,里面需要放进去2个country的信息:ship-to coutry和 sold-to country,你怎么做?