博客列表 >JavaScript入门知识以及相关术语

JavaScript入门知识以及相关术语

残破的蛋蛋
残破的蛋蛋原创
2020年12月29日 18:31:22812浏览

JavaScript入门知识以及相关术语

一、什么是JavaScript

JavaScript简称JS,它是一种异步单线程的脚本语言,JS不需要进行编译即可在浏览器运行,它是边解释边执行的。

二、JavaScript相关历史

ECMAScript6(ECMA 2016),即:ES6,是JavaScript语言的下一代标准,它于2015年6月正式发布的。

ECMAScript和JavaScript是什么关系呢?

ECMA是国际标准化组织,1996年11月JavaScript的创造者把JS提交给了ECMA成为了国际标准。次年,ECMA发布了262号文件(ECMA-262)规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,也就是JavaScript的第一个版本1.0。

从ES6开始制定到最后发布,用了整整15年。

ECMAScript发布时间线:

发布时间 说明
1997年6月 ECMAScript1.0
1998年6月 ECMAScript2.0
1999年12月 ECMAScript3.0
2000年 ECMAScript4.0,为被大众接受,版本太过激进
2009年12月 ECMAScript5.0版本正式发布
2011年6月 ECMAScript5.1称为IOS国际标准
2015年6月 ECMAScript6正式发布,成为新的国际标准。

三、JavaScript常用的数据类型

JS数据类型分为两种:

1.原始类型

  • 数值: 整数和小数
  1. let age = 38;
  2. console.log(age, typeof age); // 38 "number"
  • 字符串
  1. let email = 'tp@php.cn';
  2. console.log(email, typeof email); // tp@php.cn string
  • 布尔
  1. let isMarried = true;
  2. console.log(isMarried, typeof isMarried); // true "boolean"
  • undefined,未初始化变量的默认值
  1. let gender;
  2. console.log(gender, typeof gender); // ndefined "undefined"
  • null,空对象
  1. let obj = null;
  2. console.log(obj, typeof null); // null "object"
  • 符号,创建对象属性的唯一标识
  1. let s = Symbol('custom symbol');
  2. console.log(s, typeof s); // Symbol(custom symbol) "symbol"

在原始类型的中都是值传递的,意思就是一个变量的更新并不会影响另外一个变量,例如我们声明一个变量:

  1. let a = 100;

此时,再声明一个变量b,并将a赋值给b:

  1. let b = a;

打印b的值,发现也是100,说明a的值传递给了b,那么如果这时候将a的值修改为200,再次打印b的值,结果是多少呢?

  1. a = 200;
  2. console.log(b);

通过测试,我得知b的值依旧是100,由此得到一个结论:a的值更新并不会影响到b,因此在原始类型中都是值传递的。

2.引用类型

  • 对象

此时声明一个对象user,如下:

  1. let user = {
  2. id: 1,
  3. username: '张三',
  4. 'my email': 'admin@admin.cn',
  5. // 方法: 函数
  6. getName: function () {
  7. // this表示当前的上下文,当前对象
  8. return '我的名字:' + this.name;
  9. }
  10. }
  11. console.log(user.id, user.name); // 1 "张三"
  12. console.log(user['my email']); // admin@admin.cn
  13. console.log(user.getName()); // 我的名字:张三
  • 数组
  1. let a = [1, "PHP", 3, 4];
  2. console.log(a, typeof a); // [1, "PHP", 3, 4] "object"

数组中的索引元素是从0开始的,因此我们可以使用a[数组下标]的方式来访问数组中的元素。

  • 函数
  1. function hello(a, b, c) {
  2. console.log(arguments);
  3. }
  4. // demo4.html:76 ƒ hello(a, b, c) { console.log(arguments); } "function"
  5. console.log(hello, typeof hello); // hello(a, b, c) { console.log(arguments); } "function"
  6. console.log(hello instanceof Object); // true

对象是属性的无需集合,因此还可以往对象里添加属性:

  1. hello.email = 'hello@admin.cn';
  2. console.log(hello.email);
  3. // 并没有给这个函数添加name属性
  4. console.log(hello.name);
  5. hello(1, 2, 3, 4, 5, 6);
  6. console.log(hello);
  • 效果图:
    函数

四、变量与常量的声明与赋值

  • 变量:使用let声明一个变量:
  1. // 声明
  2. let username;

此时,username的默认值是undefined,现在我们对其进行初始化(赋值):

  1. username = 'Hello World';

可在控制台打印变量username,得到:

Hello World

如果再次对username进行赋值:

  1. username = '你好,世界!';
  2. console.log(username);

此时可在控制台查看username值为:你好,世界!。

但是,禁止在再次给username赋值时使用以下格式:

  1. let username = 'Hello World!';

这样的话控制台会报错:
变量声明

所以,let在声明变量的时候禁止重复声明。

也可以将变量声明与初始化同时进行:

  1. let username = 'Hello World!';
  2. console.log(username);
  • 常量:使用const声明常量
  1. 常量特殊的变量,它是只读变量;
  2. 常量声明后即不能删除,也不能更新;
  3. 常量的声明与初始化必须同步完成。
  1. const APP = '用户管理系统';

常量、变量、函数名…都称为JS标识符,他们都有严格的命名规则:

  1. 只能是字符、数字、下划线、$,且第一个不能是数字;
  2. 标识符是严格区分大小写的;
  3. 命名规范。
  • 蛇形,下划线
  1. let user_name = 'a';
  • 驼峰式
  1. let userName = 'a';
  • 大驼峰,帕斯卡
  1. let UserName = 'a';
  • 匈牙利式
  1. let oBody = document.body;
  2. oBody.style.backgroundColor = 'lightgreen';
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议