Java script-1
什么是JavaScript?
JavaScript
是一种直译式
脚本语言,一种轻量级
的脚本语言
。
什么是脚本语言?
Script language
指的是它不具备开发操作系统的能力,而是只用来编写控制其他程序的语言
。
JavaScript
是一种嵌入式(embedded)
语言。它本身提供的核心语法并不是很多,更多的功能需要依靠宿主环境(host)
提供。So,这门语言适合嵌入更大型的应用程序环境中,去调用宿主环境提供的底层API
。
目前常见的JavaScript
宿主环境有浏览器
和服务器环境Node
。
如果从语法
的层面来看,JavaScript
是一门对象模型语言
。各种宿主环境通过这个模型,描述自己的功能和操作接口,从而通过JavaScript
控制这些功能。
同时,JavaScript
还支持函数式编程
。所以在学习的过程中,我们需要更多的去了解和学习一些不同解决问题的方法。
JavaScript
的核心语法部分包括基本语法构造
和标准库
,当然如果学习这门语言还需要学习不同的宿主环境
提供的一些其他API
[这种API通常情况下只能在该宿主环境下使用],从而在需要的时候方便调用。
例如经常涉及的宿主环境浏览器
,它提供的额外的API
可以分成三大类:
- 浏览器控制类:操作浏览器
- DOM类: 操作网页的各种元素
- Web类: 实现互联网的各种功能
而如果你的宿主环境
是Node
这种服务器环境
,那么就会提供各种操作系统的API
,例如文件操作API
、网络通信相关的API
等等。
JavaScript的发展
为什么选择学习JavaScript
- 对浏览器的操作能力
- 更多的应用领域
- 对初学者更加的友好
- 日益强大的性能
对浏览器的操作能力:
JavaScript
诞生之初,就是为了作为浏览器内置脚本语言
,让前端开发者能够操作浏览器。虽然在之前出现过很多类似的脚本语言,但是目前来讲,JavaScript
是唯一的一种通用的浏览器脚本语言,所有的浏览器都支持。
开发者通过JavaScript
可以让网页实现更多的展示效果,创造更好的用户体验。
更多的应用领域:
随着近些年的发展,
JavaScript
这门语言从最开始的只能使用在浏览器
,渐渐的扩散到了服务端
。
1、浏览器的平台化
随着 HTML5
的出现,浏览器本身的功能越来越强,不再仅仅能浏览网页,而是越来越像一个平台,JavaScript
因此得以调用许多系统功能,比如操作本地文件、操作图片、调用摄像头和麦克风等等。这使得 JavaScript
可以完成许多以前无法想象的事情。
2、Node
Node
项目使得 JavaScript
可以用于开发服务器端的大型项目,网站的前后端都用 JavaScript
开发已经成为了现实。有些嵌入式平台(Raspberry Pi
)能够安装 Node
,于是 JavaScript
就能为这些平台开发应用程序。
3、数据库操作
JavaScript
甚至也可以用来操作数据库。NoSQL
数据库这个概念,本身就是在 JSON(JavaScript Object Notation)
格式的基础上诞生的,大部分 NoSQL
数据库允许 JavaScript
直接操作。基于SQL
语言的开源数据库 PostgreSQL
支持 JavaScript
作为操作语言,可以部分取代 SQL
查询语言。
4、移动平台开发
JavaScript
也正在成为手机应用的开发语言。一般来说,安卓平台使用 Java
语言开发,iOS
平台使用 Objective-C
或 Swift
语言开发。许多人正在努力,让 JavaScript
成为各个平台的通用开发语言。
PhoneGap
项目就是将 JavaScript
和 HTML5
打包在一个容器之中,使得它能同时在 iOS
和安卓上运行。Facebook
公司的 React Native
项目则是将 JavaScript
写的组件,编译成原生组件,从而使它们具备优秀的性能。
Mozilla
基金会的手机操作系统 Firefox OS
,更是直接将 JavaScript
作为操作系统的平台语言,但是很可惜这个项目没有成功。
5、内嵌脚本语言
越来越多的应用程序,将 JavaScript
作为内嵌的脚本语言,比如 Adobe
公司的著名 PDF 阅读器
Acrobat
、Linux 桌面环境 GNOME 3
。
6、跨平台的桌面应用程序
Chromium OS
、Windows 8
等操作系统直接支持 JavaScript
编写应用程序。Mozilla
的 Open Web Apps
项目、Google
的 Chrome App 项目、GitHub
的 Electron 项目、以及 TideSDK 项目,都可以用来编写运行于 Windows
、Mac OS
和 Android
等多个桌面平台的程序,不依赖浏览器。
著名程序员 Jeff Atwood 甚至提出了一条 “Atwood 定律”:
“所有可以用 JavaScript 编写的程序,最终都会出现 JavaScript 的版本。”(Any application that can be written in JavaScript will eventually be written in JavaScript.)
对初学者更加的友好:
1、可以随时随地的使用浏览器进行开发练习。
2、简单化的语法。即使复杂的语法你没有掌握,也可以通过简单的语法实现。
3、与C/C++
、Java
的相似性。如果你学过这两门语言,那么再来学习JavaScript
可以说将会很简单。
日益强大的性能:
1、灵活的语法。
JavaScript
既支持类似C
语言清晰的过程式编程,也支持灵活的函数式编程
,可以用来写并发处理(concurrent)
。这些语法特性已经被证明非常强大,可以用于许多场合,尤其适用异步编程
。
JavaScript
的所有值都是对象,这为程序员提供了灵活性和便利性。因为你可以很方便地、按照需要随时创造数据结构,不用进行麻烦的预定义。
JavaScript
的标准还在快速进化中,并不断合理化,添加更适用的语法特性。
2、支持编译运行
JavaScript
语言本身,虽然是一种解释型语言
,但是在现代浏览器中,JavaScript
都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且,JavaScript
引擎正在快速发展,性能将越来越好。
此外,还有一种 WebAssembly
格式,它是 JavaScript
引擎的中间码格式,全部都是二进制代码。由于跳过了编译步骤,可以达到接近原生二进制代码的运行速度。各种语言(主要是 C
和 C++
)通过编译成 WebAssembly
,就可以在浏览器里面运行。
3、事件驱动和非阻塞设计
JavaScript
程序可以采用事件驱动(event-driven
)和非阻塞式(non-blocking
)设计,在服务器端适合高并发环境,普通的硬件就可以承受很大的访问量。
JavaScript和H5
JavaScript
这门语言,本身是一门用来在浏览器当中做交互效果的脚本语言
。虽然现在跟当年的环境发生了极大的变化,但是这项功能仍然还保留在JavaScript
的身体里。
而H5
如果从狭义的角度讲,可以解释为html的第五代产品
,html
主要负责页面的结构,而JavaScript
则需要和html
相互配合,负责页面的交互效果。
如果从广义的角度来说,可以解释为新一代的富客户端解决方案
,而对于这种开发需求,JavaScript
更是一个好的伙伴。
同时,如果单纯的从语言本身来看,大家所说的H5
开发,大概可以约等于Html+Css+JavaScript
。
如果从技术层面看,到了H5
的年代,提供给了JavaScript
更多的API
,让开发变得更加灵活。
js(行为):
我们常说,HTML负责页面的结构,CSS则是页面的样式,而js是页面上的行为,负责与用户的交互。
ES:浏览器遵循的标准;
BOM:浏览器对象模型;
DOM:文档对象模型。
在js中,常用的打印语句有:
1、alert();打印到弹出框;
2、document.write();打印到页面;
3、console.log();打印到控制台;
js中的数据类型:
字符型:string(s);
数值型:number(n);
布尔型:Boolean(b);
未赋值:undefined;
对象:object(o);
数组:array(a);
函数:function(fn);
......
数组与函数的本质也是对象。
可以通过typeof判断数据类型,数组与函数的数据类型是object。
变量的命名规则:
1、只能以字母、_、$开头;
2、语义化,以数据类型开头,使用小驼峰命名方式;
3、不用关键字和保留字命名。
小驼峰命名方式:第一个单词小写,后面的单词首字母全部大写。
运算符:
算数运算符:+、-、*、/、%;
关系运算符:>、<、>=、<=、==、===、!=;
逻辑运算符:||、&&、!;
赋值运算符:=、+=、-=、*=、/=、%=;
自增自减运算符:++,--;
Java script-1的更多相关文章
- java script第一篇(按钮全选的实现)
今天刚学了java script,记录下学习新知识的点滴.以下是操作步骤.鉴于我是初级者,如有错误,恳请读者指正.万分谢谢. 1.新建一个文档(用NotePad软件,为了使得在浏览器中打开不是乱码,在 ...
- Java Script 编码规范【转】
Java Script 编码规范 以下文档大多来自: Google JavaScript 编码规范指南 Idiomatic 风格 参考规范 ECMAScript 5.1 注解版 EcmaScript ...
- Java script基础
Java script基础 Js的每个语句后面都要有分号. <script type="text/java script">所有JS内容</script> ...
- Java script 看看黑客怎么写的
在2011年的BlackHat DC 2011大会上Ryan Barnett给出了一段关于XSS的示例java script 代码: ($=[$=[ ] ] [(__=!$+$)[_=-~-~-~$] ...
- Java Script 中 ==(Equal) 和 === (Identity Equal) 的区别和比较算法逻辑
判断两个变量是否相等在任何编程语言中都是非常重要的功能. JavaScript 提供了 == 和 === 两种判断两个变量是否相等的运算符,但我们开始学习的时候 JavaScript 的时候,就被一遍 ...
- Java Script 学习笔记
JS编程习惯类: 1. 命名 著名的变量命名规则 只是因为变量名的语法正确,并不意味着就该使用它们.变量还应遵守以下某条著名的命名规则: Camel 标记法 首字母是小写的,接下来的字母都以大写字符开 ...
- 10张思维导图带你学习JavaScript
10张思维导图带你学习JavaScript 下面将po出10张JavaScript相关的思维导图. 分别归类为: JavaScript变量 JavaScript运算符 JavaScript数组 ...
- Java Script 简介
Java Script 简介 JavaScript 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备.JavaScrip ...
- 在ASP.Net环境中,当用户点击报表中的超链接时如何调用Java Script方法?
问题描述:在ASP.Net环境中,当用户点击报表中的超链接时如何调用Java Script方法? 问题解答: 你可以在TextObject.Hyperlink对象中编写js代码(javascript: ...
- Java Script注意事项
1.HTML中,打错标点符号 或输入格式不对(多输等号 或少加括号等) 会导致字体颜色不对劲 2.写Java Script时通常的做法是把函数放入 <head> 部分中,或者放在页面底部. ...
随机推荐
- linux系统安装MongoDB文档
mongodb文档数据库的安装: wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.4.tgz tar -zx ...
- DB count check for TABLES VIEWS PROCEDURES TRIGGERS
SELECT DISTINCT(TABLESPACE_NAME) FROM ALL_TABLES; SELECT COUNT(*) FROM ALL_TABLES where TABLESPACE_N ...
- spring @Query使用对象参数
@Transactional @Modifying @Query(value = "UPDATE az_news a SET a.news_content =:#{#news.newsCon ...
- python2和python3的编码encode解码decode函数
python比较坑的一个点:意义完全变了的两个函数 首先 常用的编码方式有3种,utf-8: 常用的传输和存储格式,Unicode的一种简化 Unicode:包括了所有可能字符的国际统一编码 GBK ...
- SpringBoot---常规属性配置
1.概述 1.1.在Spring环境下,注入properties文件中的值,通过@PropertySource指明properties文件的位置,然后通过@Value注入值: 在SpringBoot环 ...
- HTTP协议-Cookie和Session详解
前言: 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的跟踪技术就是Cookie和Session. Cookie通过在客户端记录信息确定用户身份,Session通过在 ...
- vue-葵花宝典
router-view 中包含 router-view 这种情况就可以 使用嵌套路由了 变化的视图中包含变化的视图 代码层面 router-view 中 包含router-view 路由childre ...
- Idea的几个常用的
sout+tab= "System.out.println()" ctrl+alt+v=生成当前对象的实例 ctrl+shift+enter="(真个是真的牛哦)直接 ...
- Yii2 kineditor
用 kineditor实现异步 <table cellspadding=5 width=400> <tr height='150'> <td valign="t ...
- SQL_2008安装教程(完整版)
Win 7 win xp系统中SQL2008安装注意事项一:SQL2008 镜像下载地址 http://download.microsoft.com/download/4/C/4/4C402E48-0 ...