比较常用 forEach 和 map 方法,可以重点关注下用法 。
简易循环举例:
JavaScript:
let list = [];list.push('aa');list.push('bb');for(let i=0; i<list.length; i++) {console.log(list[i]);}list.forEach((val, i) => {console.log(val, i);});Java:
List<String> list = new ArrayList<String>();list.add('aa');list.add('bb');for(int i=0; i<list.size();i++) {System.out.println(list.get(i));}list.forEach((val) -> {System.out.println(val);});相比 Java 的 add 操作,JavaScript array 的出栈入栈删除的方法名略有不同,常见的 push 入栈、pop 出栈,具体的参照 链接 。
对象(object)对象类型,无序,需要指定 key 等信息关联值,类似 Java 的 HashMap,比如:
JavaScript:
let obj = {name: 'string 字符串',home: {province: '山东'}};obj.age = 18;console.log(obj.home.province);let key = 'age';console.log(obj[key], obj['age']);delete obj.name;Java:
HashMap<String , Double> obj = new HashMap<String , Double>();obj.put('age', 18);obj.get('age');obj.remove('age');如果不确定 key 的值(变量)可以使用如下方法调用:
let key = 'age';obj[key]; // -> 18因此可以用来做 key value 的数据映射使用 。由于弱类型存储的值可以多种多样,比 Java 使用起来要容易一些 。详情:链接
函数(function)函数类型,用来创建一个函数,通常会返回一个数据 。
JavaScript:
function fun(a, b) {return a + b;}fun(1, 2); // -> 3;Java:
public static int fun(int a, int b) {int result;result = a + b;return result;}fun(1, 2);函数是一个可执行的小程序,根据参数处理一些逻辑并返回一段新的数据,在 JavaScript 中用非常多,为此 ES6(新版 JavaScript 语言规范)新增了箭头函数语法,用来简化函数书写:
let add = function(a, b) {return a + b;};等同于let add = (a, b) => {return a + b;};循环语句中也非常直观方便:list.forEach((a, b) => {console.log(a + b);});箭头函数有个重要的特点就是自动绑定了当前的作用域,作用域的概念,JavaScript 和 Java 的一样,JavaScript 中可以使用 bind、call、apply 三个方法改变函数执行的作用域,简单区别如下:
bind 方法,创建一个新的函数的引用并绑定到一个作用域特定作用域上面,同时支持传参 。bind(作用域对象, 参数1, 参数2)apply、call 方法,直接调用执行该函数,在执行的时候将函数内部的作用域绑定到参数指定的作用域 。call(作用域)这几个方法详情:
链接箭头函数声明和特性:
链接函数作用域:
链接链接设置函数参数的默认值:
链接类型转换类型转换可以通过调用类型的类进行转换,比如将变量 a 转换成 Number 类型,可以使用:
JavaScript:
let a = '10';a = Number(a);Java:
int x;(double)x;除了这种比较正规的方法之外,跟 Java 一样还有其他惯用方法进行转换 。
转换 number 类型JavaScript:
let a = '12.33';console.log(parseInt(a)); // -> 12 numberconsole.log(parseFloat(a)); // -> 12.33 numberJava:
int i = Integer.parseInt(“123”);转换 string 类型同 Java 每个类型的值都含有 toString() 方法 。
let a = 12.33;console.log(a.toString()); // -> '12.33'将 Object 转成 JSON 字符串let obj = {a: 'aa',b: 'bb'};console.log(JSON.stringify(obj)); // -> '{"a":"aa","b":"bb"}'let objStr = '{"a":"aa","b":"bb"}';console.log(JSON.parse(objStr)); // -> {a:"aa", b:"bb"}转换 boolean 类型JavaScript 中的 boolean 的值比较多,空字符串、数字 0、null、undefined 均为布尔值的 false 。此外 ! 表示取当前布尔值的反值,可以通过 !! 巧妙的将值转换成布尔值类型的数据 。
JavaScript:
console.log(!!'a'); // -> trueconsole.log(!!''); // -> false 空字符串console.log(!!0); // -> false 数字 0console.log(!!10); // -> trueconsole.log(!!null); // -> falseconsole.log(!!undefined); // -> falseconsole.log(!![].length); // -> false流程控制、比较、运算符等流程控制if:链接switch:链接for: 链接while: 链接比较:链接运算符:链接基本跟 Java 一样,下面介绍几个 JavaScript 比较常用、特殊的知识点:
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- Apple id开发者账号申请条件 申请ios个人开发者账号需要多长时间
- python开发工具分享 eclipse安装pydev插件步骤
- 不动产税个人交还是开发商交 不动产交税怎样交
- 学java要学多久 APP开发
- php范例代码大全 php开发实例代码
- 富文本编辑器对比 前端富文本编辑器使用
- app原生开发和非原生的区别 ios原生开发和前端开发
- java开发常用四大框架 playonlinux教程
- 前端如何获取当前日期 js如何获取当前时间的时间戳
- oppo手机找不到开发者选项 oppo开发者选项在哪