JavaScript基础知识
今日内容概要
- JS简介
- JS基础
- 变量与常量
- 基本数据类型
- 运算符
- 流程控制
- 函数
- 内置对象
今日内容详细
JS简介
JS全称为JavaScript,但是跟JavaScript并没有联系,是一门前端编程语言。遵循JavaScript又称为ECMAScript,最新版为ECMAScript 6,又称ES6。
JS基础
JS语句以分号结尾,分号可不写。
注释语法 使用 / /或 /* */,前者为单行注释,后者为多行注释。
JS语句导入位置:
- head标签内的script内编写;
- head标签内script属性内导入外部JS文件;
- 在body标签最下方添加script标签导入JS文件。
变量与常量
JS中有严格的变量与常量的区分。
变量 在定义时前加var或者let关键字加变量民,然后赋值。
var定义的变量全局生效,let定义的变量若在for循环中生效,for循环结束后会失效。
常量 在定义时使用const关键字,定义为常量的关键字不可重新赋值。
基本数据类型
查看数据类型使用typeof方法。
数字类型Number
整数和小数都属于数字类型,仅在字符串转换数字时体现差别。
NaN在JS中也是一种数据类型,全称为not a number,表示不是一个数字。
字符类型String
字符的表示方式有三种,单引号、双引号以及模板字符英文模式下的分隔符。
模板字符串使用时在需要填充数据的地方使用dollar符加花括号。
字符的拼接使用加号或concat方法。
布尔值类型Boolean
JS中的布尔值采用全小写,true及false。
常见的布尔值为false的值有0、null、NaN、undefined。
null表示数据值被清空,类似空壳;undefined表示没有定义,即不存在。
对象类型Object
python中的列表(list)在JS中为数组(Array),表现形式也相同。
python中的字典(dict)在JS中为自定义对象(Object)。
运算符
除了常见的四则运算之外,JS中的平时不用的运算符有:
++ 自增1,即n=n+1 -- 自减1,即n=n-1
!= 数值不相等 == 数值相等 === 数值及数据类型均相同 !== 数值或数据类型不相同
&& 与 || 或 ! 非
流程控制
JS中条件使用括号括起来,条件对应的子代码使用花括号括起来。
if分支结构
if (条件) {条件成立对应代码} else {条件不成立对应代码}
if (条件1) {条件1成立对应代码} else if (条件2) {条件2对应代码} else {其他条件代码}
switch语法
switch(条件){
case 条件1:
条件1成立执行的代码;
break; 如果没有break会基于某个case一直执行下去
case 条件2:
条件2成立执行的代码;
break;
case 条件3:
条件3成立执行的代码;
break;
case 条件4:
条件4成立执行的代码;
break;
default:
条件都不满足执行的代码
}
for循环
for (起始条件;循环条件;条件处理) {循环体代码}
while循环
while (循环条件) {循环体代码}
函数
函数定义使用function关键字
function 函数名(形参) {
//函数注释
函数体代码
return 返回值}
不填函数名的函数即为匿名函数。
箭头函数 var f = v => v等价于var f = function(v) {return v;},作用是返回自身。
函数使用的注意事项:
-
JS中函数的形参与实参个数可以不对应,传少了就是undefined,传多了仅使用前边指定个数。
-
函数体代码中有一个关键字arguments用来接收所有的实参。
-
函数的返回值如果有多个需要自己处理成一个整体。
内置对象
日期对象
var d = new Date(); //获取当前时间
d.getDate() //获取日
d.getDay () //获取星期
d.getMonth () //获取月(0-11)
d.getFullYear () //获取完整年份
d.getYear () //获取年,距1900年的差值
d.getHours () //获取小时
d.getMinutes () //获取分钟
d.getSeconds () //获取秒
d.getMilliseconds () //获取毫秒
d.getTime () //返回累计毫秒数(从1970/1/1午夜)
JSON序列化
序列化数据 JSON. stringify() 反序列化数据 JSON. parse()
正则
正则定义方式:
var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");
var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/;
正则匹配数据使用test方法,匹配时有指针游动,匹配完成后指针到文本末尾,匹配无结果时回到文本最初。
test匹配数据不传默认传undefined。

浙公网安备 33010602011771号