一、简介
JavaScript是一门世界上最流行的语言
JavaScript与Java无关
JavaScript 是 Brendan Eich 在 1995 年发明的。
它是为 Netscape 2 开发的,并于 1997 年成为 ECMA-262 标准。
ECMAScript可以理解为JavaScript的一个标准
最新版本已经到ES6版本
但大部分浏览器只支持ES5版本
导致开发环境与线上环境不一致
二、HelloWorld
2.1、书写方式
-
内部标签使用
<!-- script标签内写javascript代码--> <script> alert("helloworld");//弹窗 </script>
-
外部引入
<script src="JS/mo.js"> </script>
2.2、基本语法
变量定义
对于Java:变量类型 变量名 = 变量值
JavaScript是弱类型语言,对于所有类型的变量,都是用var来定义
var mo = 1;
JavaScript可以不用';'结尾,但在系统编译打包时,会把没有分号的多行语句看作一行,从而导致出错
JS与java的变量名可以为中文
JavaScript严格区分大小写
条件控制
if (...){
...
}
else if(...){
...
}
else ...
与java语法一致,可嵌套使用
输出
在浏览器的控制台打印变量
console.log(mo)
//System.out.println()
调试
浏览器控制台【F12】
2.3、数据类型
数字类型
number:JS不区分小数和整数
123 //整数123 123.1 //浮点数 1.23e4 //科学计数法 -123 //负数 NaN // Not a Number Infinity //表示无限大
字符串类型
单双引号都可表示字符串类型
'abc' "abc"
布尔类型
true false
逻辑运算
&& || ! 与 或 非
比较运算符
= //赋值 == //等于(只判断值是否相同) === //绝对等于(类型与值都相等) != //不相等 !== //值不相等或类型不相等
在JS中要使用‘===’
-
NaN与所有的数值都不相等,包括他自己
-
只能通过isNaN(...)方法来判断这个数是否是NaN
-
尽量比秒浮点数进行比较,会出现精度损失
数组类型
//为了保证代码的可读性,尽量使用[]来定义数组
var arr=[1,2,3,4,5,'hello',true,null]
new array(1,2,3,null,true)
java中数组元素必须是相同类型,而js不需要
在输出是如果下标越界则会显示undefined
对象
定义对象为{}
//定义
var person={
id:1,
name: 'mosang',
tags:['c/c++','python','...']
}
//取值
person.name
person.id
每个属性之间用”,“隔开,最后一个不需要","
2.4、严格检查模式
对于不合规范的一行语句
i = 1
在js中仍能生效,且i默认被定义为全局变量
使用严格检查模式,可以预防js的随意性导致的一些问题
前提:IDEA需要设置支持ES6语法
<script>
'use strict';//必须写在script标签中的第一行
</script>
在ES6标准中,局部变量建议使用let来定义