首页 > 代码库 > 我是这样记录javascript知识的------Day31
我是这样记录javascript知识的------Day31
在陆续研究了几个javascript的几个小应用后,也算对javascript有了更深一点的认识,头脑中大约都有些印象,总体上说却有些模糊,这时。我知道,是时候看看w3cshool的这部分介绍了。
没办法。我也曾试过一開始就去看这w3cshool,可那铺天盖地的各种理论让我是苦不堪言,单纯的去背这些,真的有些难度,我习惯了“重塑”的方法记忆事物。所谓“重塑”是我自己想的一个词,就是将它理解了,用自己的语言整理出来。在脑海中能记录几个实例,并能从几个实例中整理出骨架来,能够随便补充血肉进行填充的时候,就是记住了。简单了说就是:理解原理。对照实例,实际应用,至于语言的描写叙述。仅仅能用我自己的语言了....
看完之后。大体上整理出这么一篇骨架。感觉还是适合自己的方法更easy记忆。
1、javascript来了
javascript是为了解决server端语言的不足而出现的,像注冊验证,总不能巴巴传到server。读取几十个项目了。结果发现这一个必填的漏了,然后再巴巴赶回来,浪费时间。浪费资源.....
差别于server端脚本语言:它无需依赖server的支持,能够单独执行。
javascript已是全部现代浏览器以及html5的默认脚本语言
当然它也有着它的不足,这个众说纷纭,我临时不好说什么,边走边看吧。
2、那些尘封的往事
一个叫布兰登.艾奇的男人,brendan Eich,发明出的。至于他到底是谁,爱谁谁,我仅仅知道他如今还活着
那一年是1995年,那个地方都称它网景公司(Netscape)。最初它被称为livescript。在sun公司開始合作之后,改名为了javascript,就这样。这俨然是it行业熠熠生辉的双子星成长史啊。
原始的总是混乱,最初的不同浏览器上出现了三足鼎立的现象:NetScape Navigator 3.0的javascript,ie的Jscript和CEnvi的scriptcase,各浏览器间水火不容。
乱世总要有定时,1997年ECMA欧洲计算机制造商协会。锤炼除了ECMAscript的标准化语言,从此,各浏览器就以此为蓝本。開始修正和发展,慢慢铺开的更是javascript的扶摇直上之路。
3、完整的javascript结构组成
*核心ECMAscript
*文档对象模型(DOM)
*浏览器对象模型(BOM)
4、基本的语法
这铺开的知识面太广,我仅仅能一点点研究,就从这核心的ECMAscript開始:
大前提,最基础:区分大写和小写/雷同java语法/可凝视/尾部";"可有可无(这个貌似比較鸡肋,还是像java一样写规范了自己也明了吧)
我们对脚本语言的应用,最基本就是对数据的处理,这就要求我们要有值有对象:
我们通常都是用变量来存储数值,javascript的变量为弱类型,无需明白的数据类型/不一定须要初始化/不一定存储同样类型的值,甚至能够不必声明
备注:为声明过的标示符,系统默认用该变量名建一个全局变量,并将其初始化为指定的值,这里就必需要有值了
另外它的基本数据类型不同于java的“四类八种”,仅仅有五种基本数据类型:Undefined、Null、boolean、Number和String,可用typeof来进行推断
运算符:
有了值我们就要进行操作。我们既然是用变量来进行实现的,
那我们首先要进行赋值运算(“=”),当然也可能会用到逗号运算符(“,”)。像Var a=1,b=2;
也有了值,当存在多个变量时,我们就能够推断其内部值之间的关系了。可能是用等性运算符“==”。“!=”。“===”,仅仅有无需类型转换就相等的值才干用“===”。有效的避免了弱类型变量的问题啊,当然也可能你用的会是关系运算符(“>”,"<"),字符用ASCII来对照,字符碰到数字就转化成数字,弱类型却又把它的优势用到了这里;
对照过后,我们假设想改变当前的关系状况。就须要进行换算,能够简单的加法运算符(“+”。“-”),也能够是乘法运算符(“*”。“/”,“%”);
我们怎样来判定换算是否成功呢,能够用逻辑运算符(“NOT”。“OR”。“AND”),甚至能够更高大上的条件运算符(“----?--:--”);
当然不要忘记我们雷同于java的位运算,我们最简单的一元运算啊(“delete”。“++”,“--”,“+=”;“-=”);
好了,这样全部的运算符就全了,这样记下来顿时感觉条理多了
至于script语句差点儿全然雷同于java了。也没什么特别要介绍的,无非是“if”,“break”,“continue”。“while”,“for”。“switch”,“for-in”的迭代之前用的有些少了,当然标签语句还是有那么一点意思的
函数嘛,函数名,參数,代码块function do(var a){}或者呢,就是命名对象了吧,var do=function(var a){},这两个在我看来也差点儿相同,比較在意的是闭包。之前对这个名词了解太少了呢。理解还不够深刻,近几天专门研究下吧。
时间有些晚了,今天就先到这里吧,每每来看这w3cschool都有新收获啊,看来仅仅是做应用还是不够,当然还是非常有必要的。会用了,理解起来就简单的多了。我是这么感觉的,元芳,你怎么看....
我是这样记录javascript知识的------Day31