1、JS是什么?
Javascript(JS)是一种脚本语言,是由浏览器解释执行的, 简称js,它能够让网页和用户有交互功能, 增加良好的用户体验效果。主要用于Web。它用于增强HTML页面,通常可以嵌入HTML代码中。JavaScript是一种解释型语言。因此,它不需要编译。
2、JS的特点是什么?
1、解释性:javascript是一种解释语言,源代码不需要经过编译,直接在浏览器上运行时被解释。
2、跨平台:JavaScript依赖于浏览器本身,与操作环境无关。只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。
3、安全性:JavaScript是一种安全性语言。它不允许访问本地的磁盘,并不能将数据存入服务器上;不允许对网络文本进行修改和删除,只能通过浏览器实现信息浏览或动态交互。可有效的防止数据丢失。
4、简单性:JavaScript是一种脚本编写语言,它采用小程序段的方式实现编程,像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。
5、动态性:JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,就称为“事件”。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
3、JS的常见用处?
JS常见用途:
1.对事件做出反应
2.改变html样式和内容、图像
3.验证输入
4.提交数据和服务器交互.
5.直接在script输出
4、JS的应用场景
JS应用场景:
1.网页特效
2.服务端开发(Node.js)
3.命令行工具(Node.js)
4.桌面程序(Electron)
5.APP(cordova)
6.控制硬件--物联网(Ruff)
7.游戏开发(cocos2d-js)
5、JS的组成
JS组成:
1.ECS---ECMAScript-------JS的标准
2.Dom--Document object model----文档对象模型,和程序交互
3.Bom--Browser object model-----浏览器对象模型,和浏览器交互
6、JS的使用方法
有三种分别是,行内式、内嵌式、外链式
行内式
<input type="button" name="" οnclick="alert('ok!');">
内嵌式
<script type="text/javascript">
alert('ok!');
</script>
外链式
<script type="text/javascript" src="js/index.js"></script>
7、JS变量
定义变量
定义变量的语法格式:
var 变量名 = 值;
var iNum = 123;
var sTr = ‘asd’;
//同时定义多个变量可以用","隔开,公用一个‘var’关键字
var iNum = 45,sTr=‘qwe’,sCount=‘68’;
8、命名规范
ECMAScript 规范中标识符采用驼峰大小写格式,驼峰命名法由小(大)写字母开始,后续每个单词首字母都大写。
1.项目命名
全部采用小写方式, 以下划线分隔。
2.目录命名
参照项目命名规则;有复数结构时,要采用复数命名法。
3.JS文件命名
变量:必须采用小驼峰式命名法。
命名方法: 小驼峰式命名法
命名规范:前缀为形容词 (函数前缀为动词, 以此来区分函数和变量)
4、常量
命名方法:名词全部大写
命名规范:使用大写字母和下划线来组合命名,下划线用来分割单词。
9、JS作用域的理解
理解JS函数的作用域有助于我们分析函数执行,调用。
什么是作用域?
JS的函数作用域,将作用域拆开来看,“作用”表示读写操作,函数可以读取代码,改写代码;“域”表示空间,范围,区域。
作用域就是变量和函数的可访问范围,控制着变量和函数的可见性与生命周期,在JavaScript中变量的作用域有全局作用域和局部作用域。
全局作用域:
最外层函数定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的
局部作用域:
和全局作用域相反,局部作用域一般只在固定的代码片段内可访问到,而对于函数外部是无法访问的,最常见的例如函数内部
单纯的JavaScript作用域还是很好理解的,在一些类C编程语言中花括号内的每一段代码都有各自的作用域,而且变量在声明它们的代码段外是不可见的,称之为块级的作用域,JavaScript容易让初学者误会的地方也在于此,JavaScript并没有块及的作用域,只有函数级作用域:变量在声明它们的函数体及其子函数内是可见的。