1+ 编辑器的选择,
2+
3+ 推荐顺序是:webstorm/IDEA > sublime text > atom
4+
5+ 不要使用Dreamweaver,那个写代码的效率太低了, 是网页设计用的,对于前端来说,真的不适合了;如果你用sublime,有一个插件zen coding必须要装的,可以快速编写HTML/CSS代码的
6+
7+ 输入a,然后按tab,生成
8+
9+ <a href=""></a>
10+
11+ 并且自动定位到href的位置(注意href是Hypertext Reference是缩写,并不念"贺儿夫",就是英文的 h r e f ;和别人交流的时候注意下)
12+
13+ href:Hypertext Reference的缩写。意思是超文本引用。href 属性的值可以是任何有效文档的相对或绝对URL,包括片段标识符和JavaScript代码段。
14+
15+ 输入下面的代码
16+
17+ div.test>ul>li*5>a
18+
19+ 按tab,直接生成下面的HTML
20+
21+ <div class="test">
22+ <ul>
23+ <li><a href=""></a></li>
24+ <li><a href=""></a></li>
25+ <li><a href=""></a></li>
26+ <li><a href=""></a></li>
27+ <li><a href=""></a></li>
28+ </ul>
29+ </div>
30+
31+ webStorm 和IDEA 是 分别针对WEB开发和JAVA开发的,(IDEA是包括webstorm的,如果您以前是做JAVA的,可以不用换编辑器);
32+
33+ webstorm 是很多组件的集合,向上面说的zen coding是在webstorm里内置的,JS,node,css等代码的智能提示也是内置的;省的你去配插件浪费时间了,把精力都放在写代码上;
34+
135<a name =" zero " ></a >
236# 知识点:
337##### 一、[ 编程语言是干什么的?] ( #one )
640##### 四、[ 变量初识] ( #four )
741##### 五、[ 面试题] ( #footer )
842
9- 基础:前端编程,除了ECMAScript6章节专门介绍ES6外,其他都是基于ES5标准来介绍的;javascript的发展历史就不叙述了;
43+ 基础:前端编程,除了ECMAScript6章节专门介绍ES6外,其他都是基于ES5标准来介绍的;javascript的发展历史就不叙述了;你只需要知道Javascript现在已经发展的越来越成熟了,而且在WEB端已经是霸主地位了,如果你要做WEB开发,可以有两个方向选择;
44+
45+ - 一条是走CSS3的路线,深入研究CSS,JS方面会用jqeury / zepto这类的类库即可,会修改网上找到的JS代码;(CSS现在也越来越强大了,CSS也是有编程的了,做简单交互没有问题,比如写选项卡之类的,偏表现),因为移动端的崛起,CSS3配合HTML5也有很多的应用场景;
46+ - 一条是走JS路线,控制交互的,偏交互,CSS3会写常用效果即可,会修改网上找到的样式;
47+
48+ 推荐走JS方向;主要是从各个语言在实际场景下的应用来分析的;(脱离业务和场景谈技术,就是空谈了);
49+
50+ - HTML 超文本标记语言,
51+ - CSS 层叠样式表
52+ - Javascript 简称JS
53+
54+ HTML 是一个网页文档的骨架;相当于房间的架构,无论你走JS方向还是CSS方向,这个必须会的,入手难度低;(HTML5的本地储存,canvas也很强大)
55+
56+ CSS 是一个网页的表现层,相当于房间的装修
57+
58+ JS 是一个网页的控制层,相当于电灯,空调之类的智能设备;
59+
60+ 之所以推荐走JS,是因为CSS和JS大多数场景用来做静态页面的,简单的交互CSS还可以写,比如选项卡之类的,但是实际业务中不可能把交互和逻辑代码用CSS来实现的,JS就是为了处理业务逻辑而生的;
61+
62+ JS最初的应用场景是,上个世纪的网页注册相关的验证;
63+
64+ 用户在某个网站上注册账号的时候,注册信息填写了,用户名,密码,邮箱,等等的信息,写完后点提交,抽了半根烟以后,终于有响应了(那时候上网环境非常差,响应很慢的,电脑硬件也非常低),如果确认密码忘记输了,或者输入的不规范,提示注册错误,请重新填写;然后把刚才填的信息再一条一条的输入,再去提交,周而覆辙,这种的体验非常差的;
65+
66+ JS要做的就是提交前的验证,假如某条信息不按照规范填写,当你写完某条信息的时候,网页直接提示你哪里不规范,应该按照什么规则写;这样一次提交后就成功,体验就好很多了;
67+
68+
1069***
1170<a name =" one " ></a >
1271## 一、编程语言是干什么的?用来做哪些事?
1877- 核心(ECMAScript):提供核心语言功能;
1978- 文档对象模型(document object model 简称DOM):提供访问和操作网页内容的方法和接口;
2079- 浏览器对象模型(broser object model 简称 BOM):提供与浏览器交互的方法和接口;
80+
81+
2182##### 1、核心部分:
83+
2284WEB浏览器只是ECMA的宿主环境之一,也可以不依赖浏览器,比如宿主环境可能还包括Node和Adobe Flash;
2385ECMAScript规定了Javascript这门语言的组成部分;主要规定了语法、类型、语句、关键字、保留字、操作符、对象;
86+
2487##### 2、DOM部分
88+
2589文档对象 模型把整浏览器页面映射为一个多层节点结构,页面中每个组成部分都是某种类型的节点,这些节点又包含了不同类型的数据;
2690```
2791 <!DOCTYPE html>
@@ -68,7 +132,7 @@ DOM的几个级别的介绍;DOM目前分为三个级别;DOM1级,DOM2级,
68132- DOM3级:引入了以统一方式加载和保存文档的方法(在DOM加载和保存模块中定义);新增了验证文档的方法(在DOM验证模块中定义);DOM3级也对DOM核心进行了扩展,开始支持XML1.0,涉及XML infoset,Xpath和XML Base。
69133
70134 ##### 3、BOM部分;
71- BOM最蛋疼的部分是没有统一的标准;从根本上酱BOM只处理浏览器窗口和框架 ;主要有
135+ BOM最蛋疼的部分是没有统一的标准;从根本上讲BOM只处理浏览器窗口和框架 ;主要有
72136- 弹出新浏览器窗口的功能;
73137- 移动、缩放和关闭浏览器窗口的功能;
74138- 提供浏览器详细信息的navigator对象;
@@ -78,6 +142,10 @@ BOM最蛋疼的部分是没有统一的标准;从根本上酱BOM只处理浏
78142- 像XMLHttpRequest和IE的ActiveXObject这样的自定义对象;
79143- 有了HTML5后,DOM实现的细节有望朝着兼容性越来越高的方向发展;
80144
145+
146+ JavaScript中我们学的所有的知识点其实都是基于浏览器内置类实现的,这也说明了js是由一个个类组成的,而我们要学习的就是类、实例的关系和类上面的私有或者公有的属性或者方法---这就是我们经常听到的面向对象编程
147+
148+
81149** [ ↑ 返回目录] ( #zero ) **
82150
83151<a name =" three " ></a >
@@ -104,11 +172,10 @@ BOM最蛋疼的部分是没有统一的标准;从根本上酱BOM只处理浏
104172 <title>Document</title>
105173 </head>
106174 <body>
107- <div id="div1">
108- <a href="javascript:;">链接ZAB</a>
109- <a href="javascript:;" onclick="zab()">有弹窗的链接</a>
110- </div>
111-
175+ <div id="div1">
176+ <a href="javascript:;">链接ZAB</a>
177+ <a href="javascript:;" onclick="alert('这是一段测试代码')">有弹窗的链接</a>
178+ </div>
112179 <script>
113180 function zab(){
114181 alert("这是一段测试代码")
@@ -121,29 +188,35 @@ BOM最蛋疼的部分是没有统一的标准;从根本上酱BOM只处理浏
121188##### 2、嵌入式是直接写在HTML页面中的;
122189下面的,绑定事件的,就是嵌入式的写法;
123190
124- <!doctype html>
125- <html>
126- <head>
127- <meta charset="UTF-8">
128- <title>Document</title>
129- </head>
130- <body>
131- <div id="div1">
132- <a href="javascript:;">链接ZAB</a>
133- <a href="javascript:;">有弹窗的链接</a>
134- </div>
135191
136- <script>
137- var oDiv=document.getElementById("div1");
138- oDiv.onclick=function(){
139- zab();
140- };
141- function zab(){
142- alert("这是一段测试代码")
143- }
144- </script>
145- </body>
146- </html>
192+ <!doctype html>
193+ <html>
194+ <head>
195+ <meta charset="UTF-8">
196+ <title>Document</title>
197+ </head>
198+ <body>
199+
200+ <div id="div1">
201+ <a href="javascript:;" onclick="zab()">222</a>
202+ </div>
203+ <div id="div2">
204+ <a href="javascript:;">链接ZAB</a>
205+ <a href="javascript:;">有弹窗的链接</a>
206+ </div>
207+
208+ <script>
209+ var oDiv=document.getElementById("div2");
210+ oDiv.onclick=function(){
211+ zab();
212+ };
213+ function zab(){
214+ alert("这是一段测试代码")
215+ }
216+ </script>
217+ </body>
218+ </html>
219+
147220##### 3、外联式;
148221通过script的src属性引用一个文件;关于script的标签位置,按照传统的做法,是写在head元素中;这种做法的目地是把所有外部文件(CSS,JS)的引用都放在相同的地方;可是如果放在顶部;HTML加载的时候,是从上到下依次解析的;页面加载很多HTL的时候,就会堵塞后面的DOM节点加载;导致页面呈现的内容出现延迟,而延迟七剑浏览器窗口将是空白的;为了避免这个问题,现在的WEB一般是全部javascript都放在</body >之前;
149222还有一点需要注意的,如果放在head中,直接获取元素的时候,是获取不到的;比如获取ID,就是获取不到的;需要做延迟加载才好
@@ -174,10 +247,17 @@ BOM最蛋疼的部分是没有统一的标准;从根本上酱BOM只处理浏
174247 < script src="./jquery.js"></script>
175248 < /html>
176249
250+ ##### 关于行业写JS;
251+
252+ 项目中,很少会遇到行内写JS的,工作中我只在给wifi组做技术支撑的时候见到过这么写的;当时他们的wifi管理页面,用luci lua 一个开源项目修改的,页面的HTML CSS,JS是直接渲染出来的,里面的CSS,JS大都是行内写的,维护起来真的太坑了;我在写JS的时候,把需要我写的JS代码和模块,全部外链式引导页面,把CSS,JS和他们lua代码分开;不和他们的代码掺合在一起,否则以后维护起来就太蛋疼了;
253+
177254##### 嵌入式与外链式的区别?
178255在HTML中嵌入javascript代码虽然没有问题,但是一般认为最好的做法还是尽可能使用外部文件来包含javascript代码,不过,并不存在必须使用外链式的规定;但外链式的优点如下
179256- 维护性好:JS代码和HTML代码混在一起,维护的时候需要改动HTML页面,而现在为了专注和分工明确,基本都是前后端分离的做法;页面输入都是后端的页面;如果是外链式的,只需要维护自己的JS文件即可,不需要接触HTML文件;
180- - 可缓存:浏览器能够具体的设置缓存连接的所有javascript文件,也就是说如果两个页面都使用同一个文件,那么这个文件只需要下载一次,最终结果就是能够加快页面加载的速度;
257+ - 可缓存:浏览器能够具体的设置缓存连接的所有javascript文件,也就是说如果两个页面都使用同一个文件,那么这个文件只需要下载一次,最终结果就是能够加快页面加载的速度(每次上新的时候,修改时间戳即可,);
258+
259+ a.xxx.com/project/test.js?t=2016101301 (?t=2016101301 就是时间戳)
260+
181261- 适用未来:XHTML和HTML文件会出现javascript代码解析方面的差异;因为外链式不需要接触XHTML/HTML所以不存在这些问题;
182262注意,在使用嵌入式写法的时候,不要标签内任何地方都不要出现< script >的字符串;即使是alert,console.log这些输出;如果需要用,请使用转移字符"/"来解决;
183263
@@ -211,6 +291,7 @@ BOM最蛋疼的部分是没有统一的标准;从根本上酱BOM只处理浏
211291> 渐进增强,是以技术支持最低的浏览器为准,假设以IE6为准,写的代码在IE6中没问题后,在补充一些高级浏览器支持的效果;
212292
213293##### script标签的属性:
294+
214295script是属性有async,defer,charset,languge,src,type六个;一般常用的就是src,type;而且type是属于可忽略的属性,推荐不写;
215296
216297##### javascript的文档模式,
0 commit comments