当前位置: 首页 > news >正文

11.1 知识总结(JavaScript)

 一、 ECMAScript的历史

年份

名称

描述

1997

ECMAScript 1

第一个版本

1998

ECMAScript 2

版本变更

1999

ECMAScript 3

添加正则表达式

添加try/catch

ECMAScript 4

没有发布

2009

ECMAScript 5

添加"strict mode"严格模式

添加JSON支持

2011

ECMAScript 5.1

版本变更

2015

ECMAScript 6

添加类和模块

2016

ECMAScript 7

增加指数运算符(**)

增加Array.prototype.includes

 注:

尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:

  • 核心(ECMAScript)
  • 文档对象模型(DOM) Document object model (整合js,css,html)
  • 浏览器对象模型(BOM) Broswer object model(整合js和浏览器)

简单地说,ECMAScript 描述了JavaScript语言本身的相关内容。

JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。

JavaScript 是可插入 HTML 页面的编程代码。

JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

JavaScript 很容易学习。

二、  JavaScript引入方式

  2.1 Script标签内写代码

<script>
  // 在这里写你的JS代码
</script>

 2.2  引入额外的JS文件

<script src="myscript.js"></script>

三、  JavaScript语言规范

    3.1 注释(注释是代码之母)

// 这是单行注释

/*
这是
多行注释
*/

   3.2 结束符

 JavaScript中的语句要以分号(;)为结束符。

四、  JavaScript语言基础

 4.1 变量声明

  1. JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头。
  2. 声明变量使用 var 变量名; 的格式来进行声明
  3. 例:var name = "Alex";
    var age = 18;
  4. 注:

    变量名是区分大小写的。

    推荐使用驼峰式命名规则。

    保留字不能用做变量名。

 五、 JavaScript数据类型

  5.1 JavaScript拥有动态类型

var x;  // 此时x是undefined
var x = 1;  // 此时x是数字
var x = "Alex"  // 此时x是字符串

 5.2 数值(Number)

JavaScript不区分整型和浮点型,就只有一种数字类型

var a = 12.34;
var b = 20;
var c = 123e5;  // 12300000
var d = 123e-5;  // 0.00123

   5.3  字符串(String)

var a = "Hello"
var b = "world;
var c = a + b; 
console.log(c);  // 得到Helloworld

常用办法:

方法

说明

.length

返回长度

.trim()

移除空白

.trimLeft()

移除左边的空白

.trimRight()

移除右边的空白

.charAt(n)

返回第n个字符

.concat(value, ...)

拼接

.indexOf(substring, start)

子序列位置

.substring(from, to)

根据索引获取子序列

.slice(start, end)

切片

.toLowerCase()

小写

.toUpperCase()

大写

.split(delimiter, limit)

分割

 5.4 布尔值(Boolean)

区别于Python,true和false都是小写。

var a = true;
var b = false;

(空字符串)、0、null、undefined、NaN都是false

5.4.1  null和undefined
  • null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;
  • undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。

null表示变量的值是空(null可以手动清空一个变量的值,使得该变量变为object类型,值为null),undefined则表示只声明了变量,但还没有赋值

 5.5 对象(Object)

JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...此外,JavaScript 允许自定义对象。

JavaScript 提供多个内建对象,比如 String、Date、Array 等等。

对象只是带有属性和方法的特殊数据类型。

六、 内置对象和方法

 6.1  Date对象

//方法1:不指定参数
var d1 = new Date();
console.log(d1.toLocaleString());
//方法2:参数为日期字符串
var d2 = new Date("2004/3/20 11:12");
console.log(d2.toLocaleString());
var d3 = new Date("04/03/20 11:12");
console.log(d3.toLocaleString());
//方法3:参数为毫秒数
var d3 = new Date(5000);
console.log(d3.toLocaleString());
console.log(d3.toUTCString());

//方法4:参数为年月日小时分钟秒毫秒
var d4 = new Date(2004,2,20,11,12,0,300);
console.log(d4.toLocaleString());  //毫秒并不直接显示

6.2   JSON对象

var str1 = '{"name": "Alex", "age": 18}';
var obj1 = {"name": "Alex", "age": 18};
// JSON字符串转换成对象
var obj = JSON.parse(str1); 
// 对象转换成JSON字符串
var str = JSON.stringify(obj1);

相关文章:

  • 大数据之LibrA数据库系统告警处理(ALM-12007 进程故障)
  • web3:智能合约浏览器版本的 IDE - remix 使用教程
  • R语言在生态环境领域中的实践技术应用
  • 牛客网刷题-(9)
  • android下的app性能测试应主要针对那些方面,如何开展?
  • [.NET]桃源网络硬盘 v7.4
  • MySQL - 系统库之 sys
  • 【Python 千题 —— 基础篇】乘法计算
  • [SpringCloud | Linux] CentOS7 部署 SpringCloud 微服务
  • 四级核心词汇
  • 【C/C++】空指针访问成员函数
  • 如何卸载干净 IDEA(图文讲解)windows和Mac教程
  • R -- 体验 stringdist
  • 【备忘录】SpringBoot+ dynamic-datasource配置自定义多数据源
  • 信号灯集,消息队列
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 2017年终总结、随想
  • MySQL-事务管理(基础)
  • nodejs调试方法
  • Vue 重置组件到初始状态
  • 从输入URL到页面加载发生了什么
  • 诡异!React stopPropagation失灵
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 深入 Nginx 之配置篇
  • 算法-插入排序
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • No resource identifier found for attribute,RxJava之zip操作符
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (C++17) std算法之执行策略 execution
  • (JS基础)String 类型
  • (windows2012共享文件夹和防火墙设置
  • (接口封装)
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (四)Android布局类型(线性布局LinearLayout)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)http协议
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转载)利用webkit抓取动态网页和链接
  • **python多态
  • .axf 转化 .bin文件 的方法
  • .a文件和.so文件
  • .net Application的目录
  • .net core 6 集成和使用 mongodb
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 程序发生了一个不可捕获的异常
  • .net2005怎么读string形的xml,不是xml文件。
  • .net6 webapi log4net完整配置使用流程
  • .net开发时的诡异问题,button的onclick事件无效
  • @Autowired和@Resource的区别
  • @ComponentScan比较
  • @EnableConfigurationProperties注解使用
  • @JSONField或@JsonProperty注解使用
  • @property python知乎_Python3基础之:property
  • @requestBody写与不写的情况
  • [AIGC] Java 和 Kotlin 的区别