javascript中的预定义

Study · 2015-04-16 · 159 人浏览

按照常理说,设计一门计算机语言的话肯定是要考虑这门语言的用途、场景以及逻辑和安全性等等。而且创建语言本身的目的就是用来给别人用的,所以为了让开发人员更好的使用这门语言,那么每一门语言必然都会有一些预置的和预定义的东西以及对应的规则和使用方法。

javascript是一门动态语言,那么在javascript的世界里,我们该怎么去更好的学习和理解这门语言的特性呢?欢迎前辈以及大神们指导

PS:对于这门语言的历史、用途以及其他非语言本身的东西我们就略过了。具体的内容可以直接翻阅百度百科吧:javascript

让你设计一门语言,你是怎么考虑怎么安排的,你又是根据什么线路来架设这门语言的?

一门语言最开始设计的时候,我想必然要考虑的就是一个整体架构了,然后根据架构不断的填充对应的内容和完善不足之处,同时还要考虑性能和安全问题。那么javascript的架构是怎么样的呢?如果让你来重新设计,你所考虑的是什么?着陆点又是什么?然后又该如何打通这门语言的连贯性,要预置哪些类型的数据、方法以及模型呢?同时预置的类型方法模型是否合理是否足够是否必须呢?然后又是根据什么得出的呢?又有更好的方式么?

还有其实我们应该也都很清楚,凡是都是相对的,并不是预置的东西越多越方便,而且东西多了也容易杂乱和不方便记忆学习呀。然后我们现在是带着思考去学习javascript的角色,而不是以创造这门语言的角色去学习。源码的东西我们无法看到,所以就带着思考暂且理顺下这门语言的架构和学习如何更好的去使用这门语言吧。

似乎我们接触一门语言最新进入我们视野的除了那些历史简介概要外,就是一些最原始的数据定义类型了吧?

在javascript的世界里,一共定义了5种基本的数据类型和一种复杂的数据类型。5种基本的数据类型分别是常规但又无法省略的String(字符串/指针)、Number(数字)、Boolean(布尔)、Undefined(未定义)、Null(空值),而所谓复杂的数据类型就是Object(对象)了。

至于为什么是这五种类型以及它们之间有什么关系则留在下一篇来思考了(类似具体内容展开的都会有一篇专门的文章来学习思考,这里暂且就不详细展开了)。在定义好了这些基本的数据类型后,很自然的我们接下去要做的就是如何利用这门语言的语法规则去操作这些数据了。

那么问题也就来了,为了实现我们想要的一些效果javascript本身又预置了哪些语法规则,同时又有一些什么我们必须要了解的概念和要知道的常规用法呢?

作为一门计算机领域里的语言,事实上和其他的计算机语言必然会有一些近似或者相通的部分的,而且很多的逻辑也是近似的。比如常规的语法、表达式、运算符几乎都会有近似的影子,甚至是一样的规则。

在计算机语言的世界里,对于数据的使用,第一步就是所谓的赋值吧。javascript是区分大小写的,ta的赋值有一个关键字var,当然你也许会问不用那个var关键字可以么,那么这其实就牵扯出了javascript中的一个重要的作用域的概念了。

赋值结束后就是如何应用这些数据了吧。应用数据这块可就真的太广了,比如数据的的传递、转换、再赋值、运算、判断、处理、储存、复用以及清除等等都是需要深入理解和学习的。比如javascript和很多语言一样,会有if-else、switch-case、while、do-while、for、for-in等循环语句,以及还有continue、break、return、setInterval/setTimeout等继续/跳转/终止/定时等的语句。还会有几乎一样规则的运算符法则。

在javascript的数据应用中,其实包含了不少重要的概念,包括this、原型、继承、对象、作用域、闭包等等这些经常会看到且必须要搞定的概念。在数据应用中除去简单的类型外,也还有数组等这些复杂的类型和数据处理,以及还有正则表达式等等。

javascript数据本身的操作结束后,那么用什么形式和什么方法与外界通信呢?这个则就涉及到事件了,还有ajax、json等这些与浏览器或者服务器交互的方式方法了。javascript预置的事件还是挺多的,所以后面也需要按照的一定的顺序来梳理一遍吧。

然后如何保证数据传输的安全和效率以及准确性,这些则又包含了javascript对DOM、BOM等的操作以及javascript本身的安全机制以及对事件处理还有兼容性处理的学习了。具体的则DOM可以细化成选择器(getElementById、getElementByName、querySelector等等)、CSS操作(className、style等等)、属性操作(offsetHeight、offsetWidth等等)等等;BOM可以细化为常用事件(onload、onclick等等)、常用方法(window.open、document.write等)、常用属性(clinetWidth、clinetHeight)等等。

截至目前,我们所说的其实都只是我们主观在操作的,那么在操作的过程中我们必然也是会遇到一些问题的。所以问题又来了,我们怎么去排查以及怎么借助一些工具去排查错误呢?比如常规的用alert()或者console.log()等方式。

Theme Jasmine