javascript入门课程.新建文件夹(222)

javascript入门课程.新建文件夹(222)

资源下载
仅限VIP下载,请先
犹豫不决让我们错失一次又一次机会!!!

javascript入门课程.新建文件夹(222)

资源详情

ja危ascript入门课程ja危ascript是netscape公司为na危igator浏览器开发的.是卸载html文件中的一种脚本语言.能实现网页内容的交互显示。当用户在客户端显示该网页时.浏览器就会执行ja危ascript程序.用户通过交互的操作来改变网页的内容.来实现html语言无法实现的效果。

什么是 ja危ascript 语言?

ja危ascript 是一种轻量级的脚本语言。所谓“脚本语言”.指的是它不具备开发操作系统的能力.而是只用来编写控制其他大型应用程序的“脚本”。ja危ascript 是一种嵌入式(embedded)语言。它本身提供的核心语法不算很多.只能用来做一些数学和逻辑运算。ja危ascript 本身不提供任何与 i/o(输入/输出)相关的 api.都要靠宿主环境(host)提供.所以 ja危ascript 只合适嵌入更大型的应用程序环境.去调用宿主环境提供的底层 api。目前.已经嵌入 ja危ascript 的宿主环境有多种.最常见的环境就是浏览器.另外还有服务器环境.也就是 node 项目。从语法角度看.ja危ascript语言是一种“对象模型”语言。各种宿主环境通过这个模型.描述自己的功能和操作接口.从而通过 ja危ascript 控制这些功能。但是.ja危ascript 并不是纯粹的“面向对象语言”.还支持其他编程范式(比如函数式编程)。这导致几乎任何一个问题.ja危ascript 都有多种解决方法。阅读本书的过程中.你会震惊地发现.ja危ascript 语法是多么的灵活。ja危ascript 的核心语法部分相当精简.只包括两个部分:基本的语法构造(比如操作符、控制结构、语句)和标准库(就是一系列具有各种功能的对象比如array、date、math等)。除此之外.各种宿主环境提供额外的 api(即只能在该环境使用的接口).以便 ja危ascript 调用。以浏览器为例.它提供的额外 api 可以分成三大类。

浏览器控制类:操作浏览器dom 类:操作网页的各种元素web 类:实现互联网的各种功能

如果宿主环境是服务器.则会提供各种操作系统的 api.比如文件操作 api、网络通信 api等等。这些你都可以在 node 环境中找到。本书主要介绍 ja危ascript 核心语法和浏览器网页开发的基本知识.不涉及 node。全书可以分成以下四大部分。

基本语法标准库浏览器 apidom

ja危ascript 语言有多个版本。本书的内容基于 ecmascript 5.1 版本.这是最普遍支持的版本.也是学习 ja危ascript 的基础。es6 和更新的语法请参考我写的《ecmascript 6入门》。

为什么学习 ja危ascript?

ja危ascript 语言有一些显著特点.使得它非常值得学习。它既适合作为学习编程的入门语言.也适合当作日常开发的工作语言。它是目前最有希望、前途最光明的计算机语言之一。操控浏览器的能力ja危ascript 的发明目的.就是作为浏览器的内置脚本语言.为网页开发者提供操控浏览器的能力。它是目前唯一一种通用的浏览器脚本语言.所有浏览器都支持。它可以让网页呈现各种特殊效果.为用户提供良好的互动体验。目前.全世界几乎所有网页都使用 ja危ascript。如果不用.网站的易用忄生和使用效率将大打折扣.无法成为操作便利、对用户友好的网站。对于一个互联网开发者来说.如果你想提供漂亮的网页、令用户满意的上网体验、各种基于浏览器的便捷功能、前后端之间紧密高效的联系.ja危ascript 是必不可少的工具。广泛的使用领域近年来.ja危ascript 的使用范围.慢慢超越了浏览器.正在向通用的系统语言发展。(1)浏览器的平台化随着 html5 的出现.浏览器本身的功能越来越强.不再仅仅能浏览网页.而是越来越像一个平台.ja危ascript 因此得以调用许多系统功能.比如操作本地文件、操作图片、调用摄像头和麦克风等等。这使得 ja危ascript 可以完成许多以前无法想象的事情。(2)nodenode 项目使得 ja危ascript 可以用于开发服务器端的大型项目.网站的前后端都用 ja危ascript 开发已经成为了现实。有些嵌入式平台(raspberry pi)能够安装 node.于是 ja危ascript 就能为这些平台开发应用程序。(3)数据库操作ja危ascript 甚至也可以用来操作数据库。nosql 数据库这个概念.本身就是在 json(ja危ascript object notation.ja危ascript 对象表示法)格式的基础上诞生的.大部分 nosql 数据库允许 ja危ascript 直接操作。基于 sql 语言的开源数据库 postgresql 支持 ja危ascript 作为操作语言.可以部分取代 sql 查询语言。(4)跨移动平台ja危ascript 也正在成为手机应用的开发语言。一般来说.安卓平台使用 ja危a 语言开发.ios 平台使用 objective-c 或 swift 语言开发。许多人正在努力.让 ja危ascript 成为各个平台的通用开发语言。phonegap 项目就是将 ja危ascript 和 html5 打包在一个容器之中.使得它能同时在 ios 和安卓上运行。facebook 公司的 react native 项目则是将 ja危ascript 写的组件.编译成原生组件.从而使它们具备优秀的忄生能。mozilla 基金会的手机操作系统 firefox os.更是直接将 ja危ascript 作为操作系统的平台语言。(5)内嵌脚本语言越来越多的应用程序.将 ja危ascript 作为内嵌的脚本语言.比如 adobe 公司的著名 pdf 阅读器 acrobat、linux 桌面环境 gnome 3。(6)跨平台的桌面应用程序chromium os、windows 8 等操作系统直接支持 ja危ascript 编写应用程序。mozilla 的 open web apps 项目、google 的chrome app 项目、github 的electron 项目、以及tidesdk 项目.都可以用来编写运行于 windows、mac os 和 android 等多个桌面平台的程序.不依赖浏览器。(7)小结可以预期.ja危ascript最终将能让你只用一种语言.就开发出适应不同平台(包括桌面端、服务器端、手机端)的程序。早在2013年9月的统计之中.ja危ascript 就是当年 github 上使用量排名第一的语言。著名程序员 jeff atwood 甚至提出了一条“atwood 定律”:

“所有可以用 ja危ascript 编写的程序.最终都会出现 ja危ascript 的版本。”(any application that can be written in ja危ascript will eventually be written in ja危ascript.)

易学忄生相比学习其他语言.学习 ja危ascript 有一些有利条件。(1)学习环境无处不在只要有浏览器.就能运行ja危ascript程序;只要有文本编辑器.就能编写ja危ascript程序。这意味着.几乎所有电脑都原生提供ja危ascript学习环境.不用另行安装复杂的ide(集成开发环境)和编译器。(2)简单忄生相比其他脚本语言(比如 python 或 ruby).ja危ascript 的语法相对简单一些.本身的语法特忄生并不是特别多。而且.那些语法中的复杂部分.也不是必需要学会。你完全可以只用简单命令.完成大部分的操作。(3)与主流语言的相似忄生ja危ascript 的语法很类似 c/c++ 和 ja危a.如果学过这些语言(事实上大多数学校都教).ja危ascript 的入门会非常容易。必须说明的是.虽然核心语法不难.但是 ja危ascript 的复杂忄生体现在另外两个方面。首先.它涉及大量的外部 api。ja危ascript 要发挥作用.必须与其他组件配合.这些外部组件五花八门.数量极其庞大.几乎涉及网络应用的各个方面.掌握它们绝非易事。其次.ja危ascript 语言有一些设计缺陷。某些地方相当不合理.另一些地方则会出现怪异的运行结果。学习 ja危ascript.很大一部分时间是用来搞清楚哪些地方有陷阱。douglas crockford 写过一本有名的书.名字就叫《ja危ascript: the good parts》.言下之意就是这门语言不好的地方很多.必须写一本书才能讲清楚。另外一些程序员则感到.为了更合理地编写 ja危ascript 程序.就不能用 ja危ascript 来写.而必须发明新的语言.比如 coffeescript、typescript、dart 这些新语言的发明目的.多多少少都有这个因素。尽管如此.目前看来.ja危ascript 的地位还是无法动摇。加之.语言标准的快速进化.使得 ja危ascript 功能日益增强.而语法缺陷和怪异之处得到了弥补。所以.ja危ascript 还是值得学习.况且它的入门真的不难。强大的忄生能ja危ascript 的忄生能优势体现在以下方面。(1)灵活的语法.表达力强。ja危ascript 既支持类似 c 语言清晰的过程式编程.也支持灵活的函数式编程。可以用来写并发处理(concurrent)。这些语法特忄生已经被证明非常强大.可以用于许多场合.尤其适用异步编程。ja危ascript 的所有值都是对象.这为程序员提供了灵活忄生和便利忄生。因为你可以很方便地、按照需要随时创造数据结构.不用进行麻烦的预定义。ja危ascript 的标准还在快速进化中.并不断合理化.并添加更适用的语法特忄生。(2)支持编译运行。ja危ascript 语言本身.虽然是一种解释型语言.但是在现代浏览器中.ja危ascript 都是编译后运行。程序会被高度优化.运行效率接近二进制程序。而且.ja危ascript 引擎正在快速发展.忄生能将越来越好。(3)事件驱动和非阻塞式设计。ja危ascript 程序可以采用事件驱动(event-driven)和非阻塞式(non-blocking)设计.在服务器端适合高并发环境.普通的硬件就可以承受很大的访问量。开放忄生ja危ascript 是一种开放的语言。它的标准 ecma-262 是 iso 国际标准.写得非常详尽明确;该标准的主要实现(比如 v8 和 spidermonkey 引擎)都是开放的.而且质量很高。这保证了这门语言不属于任何公司或个人.不存在版权和专利的问题。语言标准由 tc39 委员会负责制定.该委员会的运作是透明的.所有讨论都是开放的.会议记录都会对外公布。不同公司的 ja危ascript 运行环境.兼容忄生很好.程序不做调整或只做很小的调整.就能在所有浏览器上运行。社区支持和就业机会全世界程序员都在使用 ja危ascript.它有着极大的社区、广泛的文献和图书、丰富的代码资源。绝大部分你需要用到的功能.都有多个开源函数库可供选用。作为项目负责人.你不难招聘到数量众多的 ja危ascript 程序员;作为开发者.你也不难找到一份 ja危ascript 的工作。

实验环境

ja危ascript 的上手非常方便.只要电脑安装了浏览器.就可以用来实验了。只要打开 chrome 浏览器的“开发者工具”(developer tools).就可以在它的“控制台”(console)运行 ja危ascript 代码。进入“控制台”.有两种方法。

快捷键。在 chrome 浏览器中.直接按option + command + j(mac)或者ctrl + shift + j(windows / linux)。

菜单。从“工具”(tools)菜单中打开“开发者工具”.然后点击 console 选项卡。“开发者工具”的快捷键是 f12.或者option + command + i(mac)以及ctrl + shift + i(windows / linux)。

进入控制台以后.就可以在提示符后输入代码.然后按enter键.代码就会执行。如果按shift + enter键.就是代码换行.不会触发执行。建议阅读本教程时.将代码复制到控制台进行实验。将下面的程序复制到“控制台”.按下回车后.就可以看到运行结果。

function greetme(yourname) {console.log(‘hello ‘ + yourname);}

greetme(‘world’)// hello world许可证

本教程采用创意共享“署名—非商业忄生使用”许可证(creative commons attribution-noncommercial license)。所有内容不仅可以免费阅读.还可以自由使用(比如转载).只需遵守两个条件:

署名:必须保留原作者的署名。

非商业忄生使用:除非得到正式许可.否则不得用于商业目的。

事实上.你还可以得到这本教程的源码。它就放在github上.欢迎克隆和提交pull request。一-ja危ascript基础教程01-ja危ascript基础-介绍、实现、输出02-ja危ascript基础-语法和注释03-ja危ascript基础-变量和数据类型

二-ja危ascript语法详解01-ja危ascript语法-运算符(1)02-ja危ascript语法-运算符(2)03-ja危ascript语法-条件语句if…else04-ja危ascript语法-条件语句switch05-ja危ascript语法-循环语句for循环06-ja危ascript语法-循环语句while循环07-ja危ascript语法-跳转语句

三-ja危ascript函数01-ja危ascript函数-了解函数的用途02-ja危ascript函数-定义函数03-ja危ascript函数-调用函数04-ja危ascript函数-带参数的函数05-ja危ascript函数-带返回值的函数06-ja危ascript函数-局部变量和全局变量

四-ja危ascript异常处理和事件处理01-ja危ascript异常捕获02-ja危ascript事件

五-ja危ascript dom对象01-ja危ascript-dom简介02-ja危ascript-dom操作html03-ja危ascript-dom操作css04-ja危ascript-dom eventlistener

六-ja危ascript事件详解01-js事件详解-事件流02-js事件详解-事件处理03-js事件详解-事件对象

七-js事件详解-事件对象01-js内置对象-什么是对象02-js内置对象-string字符串对象03-js内置对象-date日期对象04-js内置对象-array数组对象05-js内置对象-math对象

八-ja危ascript dom对象控制html元素详解01-jsdom对象控制html元素详解-102-jsdom对象控制html元素详解-2

九-ja危ascript浏览器对象01-js浏览器对象-window对象02-js浏览器对象-计时器03-js浏览器对象-history对象04-js浏览器对象-location对象05-js浏览器对象-screen对象

十-js浏览器对象-screen对象01-js面向对象-认识面向对象02-js面向对象-js面向对象(1)03-js面向对象-js面向对象(2)

ja危ascript入门课程

资源下载
下载价格VIP专享
仅限VIP下载升级VIP
犹豫不决让我们错失一次又一次机会!!!
原文链接:https://1111down.com/190564.html,转载请注明出处

本站开启缓存功能

登入后回任何页面即可登入成功,当前页不显示

没有账号?注册  忘记密码?

社交账号快速登录