javascript形象,JavaScript特征

如何形象地解释 JavaScript 中 map,foreach,reduce 间的区别

假设我们有一个数组,每个元素是一个人。你面前站了一排人。

创新互联专业为企业提供万源网站建设、万源做网站、万源网站设计、万源网站制作等企业网站建设、网页设计与制作、万源企业网站模板建站服务,10多年万源做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

foreach 就是你按顺序一个一个跟他们做点什么,具体做什么,随便:

people.forEach(function (dude) {

dude.pickUpSoap();

});

map 就是你手里拿一个盒子(一个新的数组),一个一个叫他们把钱包扔进去。结束的时候你获得了一个新的数组,里面是大家的钱包,钱包的顺序和人的顺序一一对应。

var wallets = people.map(function (dude) {

return dude.wallet;

});

reduce 就是你拿着钱包,一个一个数过去看里面有多少钱啊?每检查一个,你就和前面的总和加一起来。这样结束的时候你就知道大家总共有多少钱了。var totalMoney = wallets.reduce(function (countedMoney, wallet) {

return countedMoney + wallet.money;

}, 0);

补充一个 filter 的:

你一个个钱包数过去的时候,里面钱少于 100 块的不要(留在原来的盒子里),多于 100 块的丢到一个新的盒子里。这样结束的时候你又有了一个新的数组,里面是所有钱多于 100 块的钱包:

var fatWallets = wallets.filter(function (wallet) {

return wallet.money 100;

});

最后要说明一点这个类比和实际代码的一个区别,那就是 map 和 filter 都是

immutable methods,也就是说它们只会返回一个新数组,而不会改变原来的那个数组,所以这里 filter

的例子是和代码有些出入的(原来的盒子里的钱包减少了),但为了形象说明,大家理解就好。

[img]

javascript、JSP、JS有什么区别和联系

JS是JAVASCRIPT的缩写,是客户端脚本语言,开发WEB程序的辅助语言之一,虽然说是辅助,但是其重要性也是很高的。

JSP是一种技术。通过JAVA语言实现的。

它们之间的关系:如果你用JSP开发WEB程序,那么其开发过程中使用的主要语言就是JAVA,JS是辅助语言。可以理解为主次关系。主:JAVA,次:JS

备注:JS的重要性在于它是WEB开发过程中经常会用到的一个客户端脚本语言,如果你用.NET开发WEB程序也是会用到JS的。只要是WEB领域,基本都会用到它,它的作用域非常广泛。

扩展资料:

JavaScript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。直译语言的弱点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语言也无法运行。而其解决办法就是于使用try{}catch(){}︰

Javascript被归类为直译语言,因为主流的引擎都是每次运行时加载代码并解译。

V8是将所有代码解译后再开始运行,其他引擎则是逐行解译(SpiderMonkey会将解译过的指令暂存,以提高性能,称为实时编译),但由于V8的核心部份多数用Javascript撰写(而SpiderMonkey是用C++),因此在不同的测试上,两者性能互有优劣。与其相对应的是编译语言,例如C语言,以编译语言编写的程序在运行之前,必须经过编译,将代码编译为机器码,再加以运行。

参考资料:百度百科-语言脚本

javascript是什么意思?

JavaScript简称“JS”是一种轻量级的脚本语言,可以部署在多种环境,最常见的部署环境是浏览器。所谓“脚本语言”,指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序的操作方法

JavaScript的核心部分相当精简,只包括两个部分

1、基本的语法构造(比如操作符、控制结构、语句)

2、标准库(就是一系列具有各种功能的对象比如Array、Date、Math等)。

除此之外,还有提供的额外API可以分成三大类:浏览器控制类、DOM类、Web类

JavaScript的调试工具也是极其简单。只要安装了chrome浏览器,那么在其自带的“开发者工具”中唤醒“控制台”,就能够随时运行和调试JavaScript代码

控制台(console)就是指代码运行和调试的一个工具,因为开发者可以在这个工具中对整个代码的运行过程进行调控,故形象的被成为控制台。

简单形象地简介下javascript闭包、封装、原型、作用域链等等概念

闭包

闭包就是能够读取其他函数内部变量的函数。

最大用处有2个:

1.读取函数内部变量

2.让这些变量的值始终保持在内存中

参考资料:

封装

其实就是用js模拟出类的写法,将你写成程序按照面向对象的思想去包装起来,方便调用

参考资料:

原型

每个javascript对象都有一个原型对象(简称原型),这个原型是由该对象的构造函数所定义(javascript自动创建的),并且对象继承原型的所有属性和方法(函数)。

参考资料:

作用域链

Javascript作用域问题简单的可以用一句话来概括:两种类型的作用域( global, function)、三条作用域链。

理解两种三条前需要明白两点:

1) JavaScript是词法作用域,当一个函数被定义后,它的作用域链就作为函数的内部状态被保存了。

2) 在函数被定义时虽然作用域链确定了,但作用域链中的属性并没有确定。

两种类型的作用域:

1) 全局作用域 -- 变量为window对象的属性(默认浏览器环境中)。 作用域链:window

2) 函数作用域-- 变量查找的的顺序(即作用域链) 当前call object -- .... -- window object

特殊的一条作用域链:

通过HTML属性定义的事件处理代码:匿名函数的call object -- 当前节点 -- 父节点--...-- window object

参考资料:

什么是 JavaScript ?

javascript是客户端(浏览器端)脚本语言 可以用来做页面特效和用提交的信息的验证 比如:在注册页面上 用户要输入用户名、密码、年龄等等信息 这个时候就可以用到javascript验证 例如验证密码是否符合要求 验证年龄是否是纯数字或者年龄大小验证 比如:用户在年龄一行中输入一个148 这样的年龄是不合要求的年龄 不能直接保存到数据库去 所以 这个时候javascript就能发挥功效了 当用户输入了不和适的信息的时候 javascript可以对信息进行验证 验证信息不符合标准就不提交到数据库 说的形象一点 :javascript就想是服务器和客户端(主要是浏览器)之间的一道筛选的屏障 对用户请求的要保存到数据库的信息进行过滤 主要就是这些作用 当然 还有 利用javascript还可以做很多页面特效 例如图片的自动切换 动态时钟等等 这些用javascript都可以实现 另外 javascript和java什么关系 只是在语法上有一点类似 javascript很容易就能学会 就这些吧 满意的话给个好评哦 呵呵


网站标题:javascript形象,JavaScript特征
分享地址:http://hbruida.cn/article/dsohcjh.html