js基本概念
1.发展:JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
2.主要功能
(1)嵌入动态文本于HTML页面。
(2)对浏览器事件做出响应。
(3)读写HTML元素。
(4)在数据被提交到服务器之前验证数据。
(5)检测访客的浏览器信息。控制cookies,包括创建和修改等。
(6)基于Node.js技术进行服务器端编程。
3.语言组成
(1)ECMAscript,描述了该语言的语法和基本对象。
(2)文档对象模型(DOM),描述处理网页内容的方法和接口。
(3)浏览器对象模型,描述与浏览器进行交互的方法和接口。
3.运行模式
(1)是一种解释性脚本语言(代码不进行预编辑)。
(2)主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
(3)可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
(4)跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linus、Mac、Androad、iOS等)。
(5)JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
4.语言特点
(1)脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。
(2)基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。
(3)简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。
(4)动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。
(5)跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支持JavaScript脚本语言,JavaScript已被大多数的浏览器所支持。不同于服务器端脚本语言,例如PHP与ASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较倾向于使用JavaScript以减少对服务器的负担,而与此同时也带来另一个问题,安全性。而随着服务器的强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。同时,有些特殊功能(如AJAX)必须依赖JavaScript在客户端进行支持。
JS怎么执行
1.全局执行上下文:代码开始执行就会创建,将他压执行栈的栈线,每个生命周期内只有一份
2.函数执行上下文:当执行一个函数时,这个函数内的代码会被编译,生成环境变量、语法环境等,当函数执行结束的时候执行环境从栈顶弹出
3.·词法环境:基ECMAScript代码的词法嵌套结构来定义标识符和具体变量和函数的关联。一个词法环境由环境记录器和一个可能的引用外部词法环境的空值组成
4.变量环境:变量环境和词法环境的一个不同就是前者被用来存储函数声明和变量(lt和const)绑定,而后者只用来存储var变量绑定
5.Outer::指向外部变量环境的一个指针