工作需要,最近需要学习JavaScript。原本是Java开发后台,在学习JavaScript处理前端工程的时候,发现JavaScript和Java的一些开发上的区别。
变量
Java采用强类型变量检查,即所有变量在编译之前必须做声明;JavaScript中变量是弱类型的,甚至在使用变量前可以不作声明,JavaScript的解释器在运行时检查推断其数据类型。
形参和实参
Java的方法在没有声明可变长参数情况下,实参数目和形参数目需要一致,JavaScript的调用函数时传递的实参数目与形参不一定相同的。
JavaScript调用函数传递的实参与定义函数规定的形参是依次对应的,即第1个实参的值传递给第1个形参,第2个实参的值传递给第2个形参(但又不是绝对,例如vuex中mutations的方法,第1个形参数默认是state,不需要再实参中传递值,第1个实参是传递给第2个形参)。
Lambda
Lambda(箭头函数)在日常的Java开发中使用较少,但是再JavaScript开发中经常使用,最常见的就是Promise的回调处理。
后面是小括号的箭头函数默认只有一行代码,默认有返回,后面是大括号的默认是代码段,默认没有返回值,需要手动添加return。
const f2=(a,b)=>(a+b)
与
const f =(a,b)=>{
const c =a+b
return c
}
解构赋值
JavaScript支持解构赋值,案例如下:
let {web:webSiteName,url:webUrl} ={web:"猫猫教程",url:"http://www.maomao365.com"};
document.write(webSiteName+" ");
document.write(webUrl);
以上代码会输出:
猫猫教程 http://www.maomao365.com










网友评论