最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 探索JavaScript

    正文概述 掘金(答应我)   2021-01-02   495
    • JavaScript(通常缩写为JS)是一种高级的、解释型的编程语言。JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象程序设计,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Firefox、Safari、Opera)支持。

    • JavaScript与Java在名字或语法上都有很多相似性,但这两门编程语言从设计之初就有很大的不同,JavaScript的语言设计主要受到了Self(一种基于原型的编程语言)和Scheme(一门函数式编程语言)的影响。在语法结构上它又与C语言有很多相似(例如if条件语句、switch语句、while循环、do-while循环等)。

    • 在客户端,JavaScript在传统意义上被实现为一种解释语言,但在最近,它已经可以被即时编译(JIT)执行。随着最新的HTML5和CSS3语言标准的推行它还可用于游戏、桌面和移动应用程序的开发和在服务器端网络环境运行,如Node.js。

    概论

    一般来说,完整的JavaScript包括以下几个部分:

    • ECMAScript,描述了该语言的语法和基本对象
    • 文档对象模型(DOM),描述处理网页内容的方法和接口
    • 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口

    JavaScript的基本特点如下:

    • 是一种解释性脚本语言(代码不进行预编译)。
    • 主要用来向HTML页面添加交互行为。
    • 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

    JavaScript常用来完成以下任务:

    • 嵌入动态文本于HTML页面
    • 对浏览器事件作出响应
    • 读写HTML元素
    • 在数据被提交到服务器之前验证数据
    • 检测访客的浏览器信息
    • 控制cookie,包括创建和修改等

    特性

    不同于服务器端脚本语言,例如php与ASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。而随着服务器变得强大,现在的程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。同时,有些特殊功能(如AJAX)必须依赖JavaScript在客户端进行支持。随着引擎如V8和框架如Node.js的发展,及其事件驱动及异步IO等特性,JavaScript逐渐被用来编写服务器端程序。且在近几年中,Node.js的出世,让JavaScript也具有了一定的服务器功能。

    Javascript的10个设计缺陷

    1. 不适合开发大型程序

    Javascript没有名称空间(namespace),很难模块化;没有如何将代码分布在多个文件的规范;允许同名函数的重复定义,后面的定义可以覆盖前面的定义,很不利于模块化加载。

    2. 非常小的标准库

    Javascript提供的标准函数库非常小,只能完成一些基本操作,很多功能都不具备。

    3. null和undefined

    null属于对象(object)的一种,意思是该对象为空;undefined则是一种数据类型,表示未定义。

    4. 全局变量难以控制

    Javascript的全局变量,在所有模块中都是可见的;任何一个函数内部都可以生成全局变量,这大大加剧了程序的复杂性。

    5. 自动插入行尾分号

    Javascript的所有语句,都必须以分号结尾。但是,如果你忘记加分号,解释器并不报错,而是为你自动加上分号。有时候,这会导致一些难以发现的错误。

    6. 加号运算符

    +号作为运算符,有两个含义,可以表示数字与数字的和,也可以表示字符与字符的连接。 这样的设计,不必要地加剧了运算的复杂性,完全可以另行设置一个字符连接的运算符。

    7. NaN

    NaN是一种数字,表示超出了解释器的极限。它有一些很奇怪的特性:   NaN === NaN; //false   NaN !== NaN; //true   alert( 1 + NaN ); // NaN 与其设计NaN,不如解释器直接报错,反而有利于简化程序。

    8. 数组和对象的区分

    由于Javascript的数组也属于对象(object),所以要区分一个对象到底是不是数组,相当麻烦。

    9. == 和 ===

    ==用来判断两个值是否相等。当两个值类型不同时,会发生自动转换,得到的结果非常不符合直觉。   "" == "0" // false   0 == "" // true   0 == "0" // true   false == "false" // false   false == "0" // true   false == undefined // false   false == null // false   null == undefined // true   " \t\r\n" == 0 // true 因此,推荐任何时候都使用"==="(精确判断)比较符。

    10. 基本类型的包装对象

    Javascript有三种基本数据类型:字符串、数字和布尔值。它们都有相应的建构函数,可以生成字符串对象、数字对象和布尔值对象。


    起源地下载网 » 探索JavaScript

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元