我是这样记录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的更多相关文章
- Javascript知识——事件
O(∩_∩)O~~又是新的一周开始了,今天还是在继续学习Javascript知识,今天主要讲了事件的知识.现在就总结下吧. 事件 事件一般是用于浏览器和用户操作进行交互.最早是 IE 和 Netsca ...
- 【原文】前端程序员必须知道的高性能Javascript知识
原文:前端程序员必须知道的高性能Javascript知识 想必大家都知道,JavaScrip是全栈开发语言,浏览器,手机,服务器端都可以看到JS的身影. 本文会分享一些高效的JavaScript的最佳 ...
- 《jQuery风暴》第2章 必须知道的JavaScript知识
第2章 必须知道的JavaScript知识 JavaScript是jQuery应用的基础,掌握JavaScript这门语言是使用jQuery的基础条件.本章不会全面细致的讲解JavaScript的全部 ...
- Javascript知识四(DOM)
[箴 10:4] 手懒的,要受贫穷:手勤的,却要富足. He becometh poor that dealeth with a slack hand: but the hand of the di ...
- WEBBASE篇: 第十一篇, JavaScript知识6
JavaScript 知识6 一, String 对象 1,分隔字符串, 函数: split(seperator) 作用: 将字符串,通过seperator 拆分成一个数组: eg: var msg= ...
- WEBBASE篇: 第十篇, JavaScript知识5
JavaScript知识5 <!doctype html> <html lang="en"> <head> <meta charset=& ...
- 【06】Firebug记录Javascript日志
Firebug记录Javascript日志 你可以使用Firebug来生成日志. 这有助于我们调试web页面并发现页面的错误. 在Firefox浏览器中执行以下代码: <!DOCTYPE HTM ...
- Lodash 严重安全漏洞背后 你不得不知道的 JavaScript 知识
摘要: 详解原型污染. 原文:Lodash 严重安全漏洞背后 你不得不知道的 JavaScript 知识 作者:Lucas HC Fundebug经授权转载,版权归原作者所有. 可能有信息敏感的同学已 ...
- javaScript知识储备
javaScript知识储备 组成 ECMAScript(核心) 提供语法.变量等,遵循ECMA-262标准 DOM(文档对象模型) 提供操作HTML标签的API,遵循W3C规范 BOM(浏览器对象模 ...
随机推荐
- oracle 创建命令
环境变量设置(在Sqlplus中执行) create or replace directory filepath as 'D:\ORACLEBACKUP'; 备份脚本:expdp system/123 ...
- 【贪心】小Y的炮[cannon]题解
模拟赛的题目,做的时候由于第二题表打太久了,只剩下40分钟,想都没想就写了一个爆搜20分... 这道题单调性很关键,下面会解释 P.S.解释在代码里 #include<cstdio> #i ...
- SQL连接其它服务器操作
Exec sp_droplinkedsrvlogin ZYB,Null --删除映射(录与链接服务器上远程登录之间的映射) Exec sp_dropserver ZYB --删除远程服务器链接 EXE ...
- UID卡、CUID卡、FUID卡的区别
UID卡(国外称GEN1) 所有区块可被重复读写 卡片ID可改且使用后门指令更改ID ID可被重复修改 响应后门指令(意味着可被使用后门指令检测是否为克隆卡的机器发现) CUID卡(国外称GEN2) ...
- dubbo之结果缓存
结果缓存,用于加速热门数据的访问速度,Dubbo提供声明式缓存,以减少用户加缓存的工作量. lru 基于最近最少使用原则删除多余缓存,保持最热的数据被缓存. threadlocal 当前线程缓存,比如 ...
- Ceph 文件系统的安装
yum install -y wget wget https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#md5=01026f87 ...
- jq 禁用复选框 和输入框
$('input').attr("readonly", ""); $('input').attr("disabled", "fal ...
- python核心编程中的对象值比较VS对象身份比较(转载)
转载地址: https://blog.csdn.net/Mluka/article/details/51076786 在python核心编程第四章中,P69在优化下面这段代码时提出了:对象值比较VS对 ...
- react和vue对比
相同点 都支持服务器端渲染 都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,都实现webComponent规范 数据驱动视图 都有支持native的方案,React的 ...
- Redis-RDB持久化设置
1.如何配置RDB持久化机制redis.conf文件,也就是/etc/redis/6379.conf,去配置持久化 save 60 1000 每隔60s,如果有超过1000个key发生了变更,那么就生 ...