JavaScript概述
一.JavaScript概述
1.JavaScript发展:JavaScript目的是为了验证表单输入性的合法性或者正确性。 JS在正式向服务器提交数据之前,先来做合法性或者正确性的判定,只有通过JS判定的情况下,再来向服务器提交数据。
2.JavaScript语言特征:
说一说常见的开发语言思想特征:
面向过程:C语言...
面向对象:Java C++ Python..
描述:JS是基于面向对象和事件驱动并具有安全性的客户端脚本语言,同时它也是一门解释型的开发语言。
2.1基于面向对象:指的是在JS中,已经存在了很多创建好的对象,且这些对象拥有的方法或者函数,是可以直接让用户来使用的。
2.2事件驱动:html实现网站偏静态,js的操作能够让网站"动"起来
2.3客户端脚本语言:JS的运行只需要一个浏览器即可
2.4解释型:JS语言,编写完代码之后,是不需要进行编译,直接交给浏览器来运行。
例:
JAVA语言:代码执行流程:编写源代码---->编译---->运行操作
JS语言:编写源代码---->运行操作
2.5松散型:指的是JS中变量的声明,是不需要指定数据类型
例:
JAVA:声明变量: 数据类型 变量名=变量值 int i=4;
JS:声明变量:var 变量名=变量值
变量的数据类型由传递的值来决定
var m=4 m 数值型 var n="test" n字符串类型
2.6跨平台型:JS的使用只依赖于浏览器,和操作系统的平台没有关系
补充名词说法:
强类型语言:指的是变量的声明是需要指定数据类型
弱类型语言:指的是变量的声明不需要指定数据类型,由存储的值决定
二.JavaScript代码编写
1.在页面中嵌入JS代码
<script language="JavaScript"> JS代码; </script>
2.存放位置:既可以放在<head></head>,也可以放在<body></body>
3.alert()方法:弹出窗口或者提示
4.JS注释:
单行注释://单行注释的内容
多行注释:/多行注释的内容/
5.当head和body中都有js代码,执行过程:按照顺序来执行,先执行head,再执行body
<html>
<head>
<meta charset="UTF-8">
<title>js</title>
<!--
嵌套JS代码
-->
<script language="JavaScript">
alert("这是我的第一个JS脚本代码");
</script>
<script language="JavaScript">
alert("testing2105");
</script>
</head>
<body>
<script language="JavaScript">
alert("test2105");
</script>
<script language="JavaScript">
//弹出
alert("我是body中嵌套的js代码");
</script>
</body>
</html>
6.如果编写的JS代码比较繁琐,或者代码需要被多个页面所引用,那么就可以把JS代码单独放在一个文件中,该文件就是外部JS文件--->XXX.js
格式:新建一个js文件,其实是一个空白的文档,在文档中直接写JS代码
7.引用外部JS文件
<script language="JavaScript" src="外部JS文件位置信息"></script>
8.注意事项:
当<script></script标签一旦做了外部js文件的引用,那么在该标签中,再来写JS代码,是不会被执行的。
<html>
<head>
<meta charset="UTF-8">
<title>js</title>
<script language="JavaScript" src="js/外部js.js">
//弹出一句话
//当<script></script标签一旦做了外部js文件的引用,那么在该标签中,再来写JS代码,是不会被执行的。
//alert("testing2105");
</script>
<script language="JavaScript">
alert("testing2105");
</script>
</head>
<body>
<script language="JavaScript" src="js/外部js.js"></script>
</body>
</html>
9.不管是内部嵌套的JS代码,还是外部引用的JS代码,一旦放在HTML文件中,执行的过程还是按照顺序执行的,先head后body。
10.JavaScript的语法规则
10.1JS中变量名区分大小写
例:userName="张三" username="李四" 这是两个不同的变量
10.2每个语句结束,建议加上英文版分号
例:alert("testing");
10.3JS中的标识符(命名的规则)
概述:给变量,函数(方法),属性参数等起名字的要求
a.首字符必须是字母,下划线_,美元符号$
b.其它位置字符可以是字母,数字,下划线,美元符号$
====》命名不能以数字开头
c.不能使用关键字(关键词)-->指的是当前操作中有特殊含义的词语 true false
10.4JS中变量的创建(声明),只需要var关键词进行修饰
例:var 变量名=变量值;
10.5利用大括号可以对代码进行封装,放在大括号里面的代码块是按照顺序执行的。
例:{
代码块1;
代码块2;
代码块3;
代码块4;
...
}
执行过程:1-2-3-4...
三.JavaScript的数据类型
1.数值型 number
1.1整数类型
1.2浮点型(小数)
科学计数法:3.14E9 ====>3.14*10^9 E:以10为底的n次幂
例:var i=6; var j=3.14; i和j都属于数值型number
插入知识点:
JS中查看数据类型的方法:typeof(变量名) 或者 typeof 变量名
//声明两个变量,并进行赋值
var i=10;
var j=3.14;
//分别查看i和j的数据类型,交给alert()进行弹出查看
alert(typeof(i)); //number
alert(typeof(j)); //number
2.字符串类型 string
概述:字符串类型的数据都是由单引号或者双引号给引起来的任意个字符
例:var name="张三" var sex='男' var age="20"
引号包含关系:只能是单双,或者双单
/*//声明两个字符串变量
var m="testing";
var n='20';
//查看m和n的数据类型
alert(typeof(m)); //string
alert(typeof(n)); //strin
*/
3.布尔类型 boolean
概述:布尔类型的值只有两个:true,false
例:var i=6>7 var i=false
//声明两个布尔类型的变量
var x=6>7; //var x=false
var y=true;
//查看x和y的数据类型
//alert(typeof(x)); //boolean
alert(typeof(y)); //boolean
4.转义字符
概述:以反斜杠开头的字符模式,转换成特殊的作用效果的字符符号。
常见的转义字符:
\n 换行
\r 回车符(按下回车键Enter)
\t 水平制表符(按下键盘的Tab键)
' 转换出单引号'(把单引号当作一个普通的字符串显示出来)
" 转换出双引号"
\ 转换出单斜杠\
//转义字符应用
//换行
//alert("我\n是testing\n2105的学员");
5.空值类型 object
概述:直接把一个变量赋值成null,表示变量值为空或者不存在的引用操作
例:var i=null;
6.未定义值 undefined
概述:只是把变量声明(创建)出来,不进行赋值
例:var m;
四:javascript运算符的使用
1:什么是变量?指在运行中
2声明(创建)变量
2.1声明变量同时赋值操作
var i=52,l=5;
2.2 声明变量但是不进行赋值操作
-
var i;
-
i=60;
-
alert(i);
3变量的分类
全局变量:函数体外作用范围整个js代码块,包括函数体中也可以使用
局部变量:在函数体中必须有var修饰,作用范围在函数体中
3.3全局变量的特殊判定方式:
如果在一个函数体内部,声明一个变量且进行赋值,但是没有var关键词修饰,那么该变量属于全局变量。
特殊的全局变量的使用规则:如果全局变量是在函数体中声明的,那么要使用该全局变量时,需要先来调用(执行)函数,才能拿上该变量做事情。
ps:函数又被称为方法,一个函数中封装代码块,一个函数相当于一个功能
声明函数格式:
fun 函数名(){
函数体
}
调用函数格式:
函数名();
JavaScript运算符调用
复合赋值运算符
+= -= *= /= %= a+=b相当于a=a+b
&= 与等操作只要有false 就为false
|= 或等操作只要有ture就为ture
^= 异或等操作,相同为假,不同为真
js中0代表真1代表假
算数运算符
= + - * / % ++ --
a.不管是++,还是--的操作,只针对 变量中存储的值 来进行的;
b.当++或者--出现在变量名前方时,操作过程:先计算,后赋值;
c.当++或者--出现在变量名后方时,操作过程:先赋值,再计算。
比较运算符
< > <= >= != ==
逻辑运算符
逻辑与 && 连接的布尔表达式,只要有false,整体结果就是false
逻辑或 || 连接的布尔表达式,只要有true,整体结果就是true
逻辑非 ! 取反 对布尔表达式的结果进行取反
条件运算符
格式布尔表达式?操作1:操作2:;
字符串运算符
字符串的拼接 + 把字符串拼接在一起
先拼接再赋值 a+=b