提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
js是后端人员需要有一定了解的技术,可以帮助到日常开发;
js与java的区别就相当于林俊杰和林俊的区别,可以说是一点关系都没有。
JavaScript命名最初是受Java启发而来的。因为当时Java非常热门,但LiveScript却籍籍无名,为了让这门新生语言能够更好地传播,Netscape(网景公司)将名字改成了JavaScript。因此JavaScript除了名字和Java比较像之外,其语言风格和Java相去甚远。
一、JS基础语法
以下仅展示常用内容:
1.JS如何与html结合
1.1
直接用 <script></script>
标签,可以放在head标签里面,也可以放在body里面,还可以放在body后面,放在越靠上面,越先被加载。
1.2
采用外部js文件方式,在外部单独创建一个js文件,然后用<script src="../js/a.js"></script>
引入外部的js文件,这也是当下最流行的方式,推荐使用这种方式。
2.书写语法
2.1 区分大小写;
2.2 分号可以缺省,但是最好加;
2.3 注释沿用java的注释方式
// 或者 /**/
2.4 用{}包裹代码块.
3.输出语句
使用window.alert()弹出警告窗;
使用document.write()写入html输出;
使用console.log()输出到浏览器控制台。
4.变量和数据类型
JavaScript 是一种弱类型的语言,一个变量可以保存几种数据类型,这一点与python很像;
使用 var 关键字即可;
JS的变量类型:
数值类型:number
字符串类型:string
对象类型:object
布尔类型:boolean
函数类型:function
JS中特殊的值:
undefined:未定义,所有js变量未赋初始值时候,默认值都是undefined
null:空值
NaN:(Not a Number)非数字,非字符
定义变量:
var a;
var b=3;
var obj = {
name = "xx",
age = xx};
function test(){};
5.运算符
5.1 一元运算符
++ -- +(正号) -(负号)
+可以将其它类型转为number类型
5.2 算术运算符
+ - * / %
5.3 比较运算符
> < >= <= != == ===(全等,比较内容和类型)
等于: == 等于是简单的做字面值的比较
全等于: === 除了做字面值的比较之外,还会比较两个变量的数据类型
5.4 逻辑运算符
且运算: &&
或运算: ||
取反运算: !
在 JavaScript 语言中,所有的变量,都可以做为一个 boolean 类型的变量去使用。
0 、null、 undefined、””(空串) 都认为是 false;
&& 与运算 和 ||或运算 有短路。
短路就是说,当这个&&或||运算有结果了之后 。后面的表达式不再执行
5.5 三元运算符
条件判断?表达式1:表达式2; -- 通常可以直接输出,或者给其它变量赋值
与java基本一致
6.流程控制语句
if...else...
switch:
* 在java中,switch语句可以接受的数据类型: byte int shor char,枚举(1.5) ,String(1.7)
* switch(变量):
case 值:
* 在JS中,switch语句可以接受任意的原始数据类型
while
do...while
for 增强:for of for in
着重介绍for循环的使用:
<script>
var a=[1,5,6,4,8,9];
//普通for循环
// for (var i = 0; i < a.length; i++) {
// console.log(a[i]);
// }
//增强for循环
//打印数组内容
for (var m of a){
console.log(m);
}
//增强for循环
//打印数组索引
for (var n in a){
console.log(n);
}
</script>
7.JS常用对象
7.1 Array对象
定义:
//直接定义数组内容(数组长度是不固定的)
var arr=new Array(1,2,"abc"); -- (数组的元素)
//按长度定义数组(内容为空)
var arr=new Array(5); -- (数组的长度)
//隐式构造数组
var arr=[1,3,6,9,"a"];
特点:
var a = Array(2);
a[0]=1;
a[1]=2;
a[2]=3;
a[3]=4;
for (m of a) {
console.log(m);
}
var c=[1,2,'ff'];
c[1]=6;//修改值,覆盖之前的值
c[3]=9;//扩充值
for (z of c) {
console.log(z);
}
7.2 Date对象
创建当前时间
var date=new Date();
方法:
*toLocalString(); 本地日期格式
*getTime();返回的是1970年1月1日零点到当前时间的毫秒数
7.3 Math对象
不需要创建对象,直接调用静态工具方法
方法:
*random(); [0,1)之间的随机小数
*ceil();天花板 向上取整 ,如 Math.ceil(2.1);// 3
*floor();地板 向下取整 ,如 Math.floor(2.9);// 2
*round();四舍五入 ,如 Math.round(2.4);--> 2 ; Math.round(2.5);--> 3
属性:PI: 3.1415926...
8.JS函数
函数就是包裹在花括号中的代码块,前面使用了关键词 function;
JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
function myFunction(var1,var2)
{
代码
}
带有返回值的函数
有时,我们会希望函数将值返回调用它的地方。
通过使用 return 语句就可以实现。
在使用 return 语句时,函数会停止执行,并返回指定的值。
function myFunction(a,b)
{
return a*b;
}
在仅仅希望退出函数时 ,也可使用 return 语句。返回值是可选的:
function myFunction(a,b)
{
if (a>b)
{
return;
}
x=a+b
}
JS与java的函数重载不同,当出现相同函数名时会发生覆盖:
function fun(a) {
console.log(a)
}
function fun(a,b) {
console.log(a+b)
}
function fun(a, b, c) {
console.log(a+b+c)
}
fun(1);//NaN
fun(1,2);//NaN
fun(1,2,3);//6
总结
本文根据前辈各种资料和文章,归纳了自己的学习成果和经验。