一、简介
JavaScript 是一种轻量级的编程语言。
JavaScript是目前web开发中不可缺少的脚本语言,js不需要编译即可运行,运行在客户端,需要通过浏览器来解析执行JavaScript代码。
诞生于1995年,当时的主要目的是验证表单的数据是否合法,JavaScript本来应该叫Livescript,但是在发布前夕,想搭上当时超热的java顺风车,临时把名字改为了JavaScript。(也就是说js跟java没有关系,当时只是想借助java的名气)。
js的组成:
(1)核心(ECMAScript):这一部分主要是js的基本语法。
(2)BOM:Brower Object Model(浏览器对象模型),主要是获取浏览器信息或操作浏览器的,例如:浏览器的前进与后退、浏览器弹出提示框、浏览器地址栏输入网址跳转等操作等。
(3)DOM:Document Object Model(文档对象模型),此处的文档暂且理解为html,html加载到浏览器的内存中,可以使用js的DOM技术对内存中的html节点进行修改,用户从浏览器看到的是js动态修改后的页面。(增删改查)
二、书写位置
1、内嵌式:
理论上js可以书写在页面的任意位置。
<script>
alert("内嵌式")
</script>
2、外链式:
首先新建一个文件类型为.js的文件,然后在该文件中写js语句,通过script标签对引入到html页面中。
<script src="js文件路径地址">这里不能写js语句</script>
3、行内式:
直接书写在标签身上,是一个简写的事件,所以又称之为事件属性。 onclick单击事件
1. <input type="button" value="点我呀!" onclick="alert('点我干啥!^6^');">
2. <button onclick="alert('恭喜你,中 500 万.');">点我呀!</button>
三、注释
单行注释: // 注释语句 快捷键ctrl+/
多行注释: /* 注释语句 */ 快捷键ctrl+shift+/
注意:多行注释相互不能嵌套使用,只能在多行注释里面使用单行注释!
四、数据类型
Js中的数据类型:
- 数值型:number(凡是数字都是数值型,不区分整数和小数)
- 字符串:string(凡是引号包裹起来的内容全部都是字符串)
- 布尔:boolean(true、false)
- 对象类型:object(特殊取值null)
- 未定义型:undefined
对比java中的数据类型:
- 整数:byte short int long
- 小数:float double
- 字符:char
- 布尔:boolean
- 字符串:String
五、变量
5.1、定义:就是存放数据的、内疗可以存储任意数据
5.2、声明变量:
var 变量名称 = 存储的数据; (variable 变量)
5.3、变量命名规范:
1. 只能由字母、数字、_(下划线)、$(美元符号)组成。
2. 不能以数字开头。
3. 命名中不能出现-(js会理解成减号进行减法的操作),不能和关键字冲突。
js是弱类型语言,不重视类型的定义,但js会根据为变量赋值的情况自定判断该变量是何种类型:
数值型:var i = 1; var d = 2.35; 字符串:var str = "用心学习"; 布尔型:var b = true;
对比Java:java是强类型的语言,注重类型的定义,Java定义类型如下:
整型:int i = 1;
浮点型:double d = 2.35;
字符串:String str = “用心学习”;
布尔型:boolean b = true;
总结:js中变量的定义。只要加一个var就行。java则使用什么类型的变量就要定义什么类型的。
六、检测数据类型
typeof(value); 或者typeof value; 返回这个变量的类型.
说明 : 同一个变量, 可以进行不同类型的数据赋值
<script type="text/javascript"> var a; alert(typeof a); // undefined a = 998; alert(typeof a); // number a = "用心学习"; alert(typeof a); // string a = true; alert(typeof a); // boolean </script>
七、算术运算符
+ - * / % ++ --
注意:
-
由于js中的小数和整数都是number类型,不存在类似整数除以整数还是整数的结论。
-
字符串和其他的数据使用+号运算,会连接成一个新的字符串。
-
字符串使用除了+以外的运算符:如果字符串本身是一个数字,那么会自动转成number进行运算,否则就会返回一个NaN的结果,表示这不是一个数字。NaN:not a number
八、关系(比较)运算符
> >= < <= !=
== 等于(只比较内容) === 恒等于(比较内容的同时还要比较数据类型)
注意:关系运算符返回的结果只有两个:true / false
九、逻辑运算符
-
&& 与 true&&false ====>false
-
|| 或 true||false ====>true
-
! 非 !true ====>falsefalse(理解):false, 0, null, undefinedtrue(理解):true, 非0, 非null, 非undefined针对 && 顺口溜: 找第一个出现的假值. (一假即假)针对 || 顺口溜: 找第一个出现的真值. (一真即真)
十、js条件语句
if 语句
- 只有当指定条件为 true 时,使用该语句来执行代码
if (condition)
{
当条件为 true 时执行的代码
}
if...else 语句
- 当条件为 true 时执行代码,当条件为 false 时执行其他代码
if (condition)
{
当条件为 true 时执行的代码
}
else
{
当条件不为 true 时执行的代码
}
if...else if....else 语句
- 使用该语句来选择多个代码块之一来执行
if (condition1)
{
当条件 1 为 true 时执行的代码
}
else if (condition2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}
switch 语句
- 使用该语句来选择多个代码块之一来执行
https://www.runoob.com/js/js-if-else.html
十一、JS switch语句
switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
与 case 1 和 case 2 不同时执行的代码
}
https://www.runoob.com/js/js-switch.html
十二、for循环
- for - 循环代码块一定的次数
- for/in - 循环遍历对象的属性
- while - 当指定的条件为 true 时循环指定的代码块
- do/while - 同样当指定的条件为 true 时循环指定的代码块
https://www.runoob.com/js/js-loop-for.html
十三、while循环
只要指定条件为 true,循环就可以一直执行代码块。
while 循环
while 循环会在指定条件为真时循环执行代码块。
语法
while (条件)
{
需要执行的代码
}
实例
本例中的循环将继续运行,只要变量 i 小于 5:
实例
while (i<5)
{
x=x + "The number is " + i + "<br>";
i++;
}
如果您忘记增加条件中所用变量的值,该循环永远不会结束。这可能导致浏览器崩溃。
do/while 循环
do/while 循环是 while 循环的变体。该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环。
语法
{
需要执行的代码
}
while (条件);
https://www.runoob.com/js/js-loop-while.html
十四、自定义函数
function 函数名(形式参数){函数体}
调用函数:函数名(实际参数);