JavaScript笔记(狂神说)
<p class="md-end-block md-p"><span class="md-plain md-expand">本文章根据b站狂神说javascript视频教程整理 视频链接:<span class="md-meta-i-cmd-link"><span class="md-plain">https://www.bilibili.com/video/BV1JJ41177di?from=search&seid=6715593633392022867</span></span></span></p><h2 class="md-end-block md-heading"><span class="md-plain">0、前端知识体系 </span></h2>
<p class="md-end-block md-p"><span class="md-plain">想要成为真正的“互联网Java全栈工程师”还有很长的一段路要走,其中前端是绕不开的一门必修课。本阶段课程的主要目的就是带领Java后台程序员认识前端、了解前端、掌握前端,为实现成为“互联网Java全栈工程师”再向前迈进一步。 </span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">0.1、前端三要素 </span></h3>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">HTML(结构):超文本标记语言(Hyper Text Markup Language),决定网页的结构和内容</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">CSS(表现):层叠样式表(Cascading Style Sheets),设定网页的表现样式。</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">JavaScript(行为):是一种弱类型脚本语言,其源码不需经过编译,而是由浏览器解释运行,用于控制网页的行为 </span></p>
</li>
</ul>
<h3 class="md-end-block md-heading"><span class="md-plain">0.2、结构层(HTML) </span></h3>
<p class="md-end-block md-p"><span class="md-plain">太简单,略 </span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">0.3、表现层(CSS) </span></h3>
<p class="md-end-block md-p"><span class="md-plain">CSS层叠样式表是一门标记语言,并不是编程语言,因此不可以自定义变量,不可以引用等,换句话说就是不具备任何语法支持,它主要缺陷如下: </span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-tab"> <span class="md-plain">语法不够强大,比如无法嵌套书写,导致模块化开发中需要书写很多重复的选择器;</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">没有变量和合理的样式复用机制,使得逻辑上相关的属性值必须以字面量的形式重复输出,导致难以维护; 这就导致了我们在工作中无端增加了许多工作量。为了解决这个问题,前端开发人员会使用一种称之为【CSS预处理器】的工具,提供CSS缺失的样式层复用机制、减少冗余代码,提高样式代码的可维护性。大大的提高了前端在样式上的开发效率。 </span></p>
</li>
</ul>
<h4 class="md-end-block md-heading"><span class="md-plain">什么是CSS预处理器 </span></h4>
<p class="md-end-block md-p"><span class="md-plain">CSS预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为CSS增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只需要使用这种语言进行CSS的编码工作。转化成通俗易懂的话来说就是“用一种专门的编程语言,进行Web页面样式设计,再通过编译器转化为正常的CSS文件,以供项目使用”。 </span></p>
<h5 class="md-end-block md-heading"><span class="md-plain">常用的CSS预处理器有哪些 </span></h5>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">SASS:基于Ruby ,通过服务端处理,功能强大。解析效率高。需要学习Ruby语言,上手难度高于LESS。</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">LESS:基于NodeJS,通过客户端处理,使用简单。功能比SASS简单,解析效率也低于SASS,但在实际开发中足够了,所以如果我们后台人员如果需要的话,建议使用LESS。 </span></p>
</li>
</ul>
<h3 class="md-end-block md-heading"><span class="md-plain">0.4、行为层(JavaScript) </span></h3>
<p class="md-end-block md-p"><span class="md-plain">JavaScript一门弱类型脚本语言,其源代码在发往客户端运行之前不需要经过编译,而是将文本格式的字符代码发送给浏览器,由浏览器解释运行。 </span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">JavaScript框架 </span></h4>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">JQuery:大家熟知的JavaScript库,优点就是简化了DOM操作,缺点就是DOM操作太频繁,影响前端性能;在前端眼里使用它仅仅是为了兼容IE6,7,8;</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">Angular:Google收购的前端框架,由一群Java程序员开发,其特点是将后台的MVC模式搬到了前端并增加了模块化开发的理念,与微软合作,采用了TypeScript语法开发;对后台程序员友好,对前端程序员不太友好;最大的缺点是版本迭代不合理(如1代–>2 代,除了名字,基本就是两个东西;截止发表博客时已推出了Angular6)</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">React:Facebook 出品,一款高性能的JS前端框架;特点是提出了新概念 【虚拟DOM】用于减少真实 DOM 操作,在内存中模拟 DOM操作,有效的提升了前端渲染效率;缺点是使用复杂,因为需要额外学习一门【JSX】语言;</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">Vue:一款渐进式 JavaScript 框架,所谓渐进式就是逐步实现新特性的意思,如实现模块化开发、路由、状态管理等新特性。其特点是综合了 Angular(模块化)和React(虚拟 DOM) 的优点;</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">Axios:前端通信框架;因为 Vue 的边界很明确,就是为了处理 DOM,所以并不具备通信能力,此时就需要额外使用一个通信框架与服务器交互;当然也可以直接选择使用jQuery 提供的AJAX 通信功能; </span></p>
</li>
</ul>
<h4 class="md-end-block md-heading"><span class="md-plain">UI框架 </span></h4>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">Ant-Design:阿里巴巴出品,基于React的UI框架</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">ElementUI、iview、ice:饿了么出品,基于Vue的UI框架</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-pair-s "><em><span class="md-plain">BootStrap</span></em></span></strong><span class="md-plain">:Teitter推出的一个用于前端开发的开源工具包</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">AmazeUI:又叫“妹子UI”,一款HTML5跨屏前端框架 </span></p>
</li>
</ul>
<h3 class="md-end-block md-heading"><span class="md-plain">JavaScript构建工具 </span></h3>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">Babel:JS编译工具,主要用于浏览器不支持的ES新特性,比如用于编译TypeScript</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">WebPack:模块打包器,主要作用就是打包、压缩、合并及按序加载 </span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain"> 注:以上知识点已将WebApp开发所需技能全部梳理完毕 </span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">0.5、三端同一 </span></h3>
<h4 class="md-end-block md-heading"><span class="md-plain">混合开发(Hybrid App) </span></h4>
<p class="md-end-block md-p"><span class="md-plain">主要目的是实现一套代码三端统一(PC、Android:.apk、iOS:.ipa)并能够调用到设备底层硬件(如:传感器、GPS、摄像头等),打包方式主要有以下两种: </span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">云打包:HBuild -> HBuildX,DCloud 出品;API Cloud</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">本地打包: Cordova(前身是 PhoneGap) </span></p>
</li>
</ul>
<h4 class="md-end-block md-heading"><span class="md-plain">微信小程序 </span></h4>
<p class="md-end-block md-p"><span class="md-plain"> 详见微信官网,这里就是介绍一个方便微信小程序UI开发的框架:WebUI </span></p>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">1、什么是Javascript </span></h2>
<h3 class="md-end-block md-heading"><span class="md-pair-s "><strong><span class="md-plain">1.1、概述</span></strong></span></h3>
<p class="md-end-block md-p"><span class="md-plain"> javaScript是一门世界上最流行的脚本语言 Java,JavaScript 10天 一个合格的后端人员,必须精通JavaScript </span></p>
<h3 class="md-end-block md-heading"><span class="md-pair-s "><strong><span class="md-plain">1.2、历史</span></strong></span></h3>
<p class="md-end-block md-p"><span class="md-plain"> 见百度 <span class="md-softbreak"><br><span class="md-plain"> ECMAScript它可以理解为JavaScript的一个标准 最新版本已经到es6版本~ 但是大部分浏览器还只停留在支持es5代码上! 开发环境–线上环境,版本不一致 </span></span></span></p>
<h2 class="md-end-block md-heading"><span class="md-plain">2、快速入门 </span></h2>
<h3 class="md-end-block md-heading"><span class="md-plain">2.1、引入JavaScript</span></h3>
<p class="md-end-block md-p"><span class="md-plain">1、内部标签</span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><script> <br> <span><span class="cm-tab"> //....<br> <span><script><br> <span><span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">2、外部引入<span class="md-softbreak"><br><span class="md-plain"> hj.js</span></span></span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span>aert("hello,world");</span></pre>
<p class="md-end-block md-p"><span class="md-plain">test.html</span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span> <!--外部引入<br> <span> 注意:script必须成对出现<br> <span> --><br> <span> <script src="js/hj.js"></script><br> <span><span><br> <span> <!--不用显示定义type,也默认就是javaScript--><br> <span> <script type="text/javascript"></script><br> <span><span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">测试代码</span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><!DOCTYPE html><br> <span><html lang="en"><br> <span><head><br> <span> <meta charset="UTF-8"><br> <span> <title>Title</title><br> <span> <!--script标签内,写Javascript代码--><br> <span> <!--<script><br> <span> alert("hello,world");<br> <span> </script>--><br> <span><span><br> <span> <!--外部引入<br> <span> 注意:script必须成对出现<br> <span> --><br> <span> <script src="js/hj.js"></script><br> <span><span><br> <span> <!--不用显示定义type,也默认就是javaScript--><br> <span> <script type="text/javascript"></script><br> <span></head><br> <span><body><br> <span><span><br> <span><span><br> <span><!--这里也可以存放--><br> <span></body><br> <span></html><br> <span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<h3 class="md-end-block md-heading"><span class="md-pair-s "><strong><span class="md-plain">2.2、基本语法入门</span></strong></span></h3>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><!DOCTYPE html><br> <span><html lang="en"><br> <span><head><br> <span> <meta charset="UTF-8"><br> <span> <title>Title</title><br> <span><span><br> <span> <!--JavaScript严格区分大小写--><br> <span> <script><br> <span> // 1. 定义变量 变量类型 变量名 = 变量值<br> <span> var score = 1 ;<br> <span> //alert(num)<br> <span> // 2. 条件控制<br> <span><span><br> <span> if (score > 60 && score < 70){<br> <span> alert("60~70");<br> <span> }else if(score > 70 && score < 80){<br> <span> alert("70~80");<br> <span> }else{<br> <span> alert("other")<br> <span> }<br> <span> </script><br> <span></head><br> <span><body><br> <span><span><br> <span></body><br> <span></html><br> <span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">浏览器必备调试须知:</span></p>
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-image md-img-loaded" data-src="https://z3.ax1x.com/2021/07/06/RogTPJ.png"><img src="https://z3.ax1x.com/2021/07/06/RogTPJ.png"></span></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">2.3、数据类型</span></h3>
<p class="md-end-block md-p"><span class="md-plain">数值,文本,图形,音频,视频</span></p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-plain">变量</span></strong></span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-keyword">var <span class="cm-def">a</span></span></span></pre>
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-plain">number</span></strong><span class="md-softbreak"><br><span class="md-plain"> js不区分小树和整数,Number</span></span></span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-number">123<span class="cm-comment">//整数123<br> <span><span class="cm-number">123.1<span class="cm-comment">//浮点数123.1<br> <span><span class="cm-number">1.123e3<span class="cm-comment">//科学计数法<br> <span><span class="cm-operator">-<span class="cm-number">99<span class="cm-comment">//负数<br> <span><span class="cm-atom">NaN<span class="cm-tab"> <span class="cm-comment">//not a number<br> <span><span class="cm-atom">Infinity <span class="cm-comment">// 表示无限大</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-plain">字符串</span></strong><span class="md-softbreak"><br><span class="md-plain"> ‘abc’ “abc”</span></span></span></p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-plain">布尔值</span></strong><span class="md-softbreak"><br><span class="md-plain"> true,false</span></span></span></p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-plain">逻辑运算</span></strong></span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-operator">&& <span class="cm-variable">两个都为真,结果为真<br> <span><span class="cm-operator">|| <span class="cm-variable">一个为真,结果为真<br> <span><span class="cm-operator">! <span class="cm-tab"><span class="cm-variable">真即假,假即真</span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-plain">比较运算符</span></strong><span class="md-plain"> !!!重要!</span></span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-operator">=<br> <span><span class="cm-number">1<span class="cm-variable">,<span class="cm-string">"1"<br> <span><span class="cm-operator">== <span class="cm-variable">等于(类型不一样,值一样,也会判断为true)<br> <span><span class="cm-operator">=== <span class="cm-variable">绝对等于(类型一样,值一样,结果为true)</span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">这是一个JS的缺陷,坚持不要使用 == 比较<span class="md-softbreak"><br><span class="md-plain"> 须知:</span></span></span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">NaN === NaN,这个与所有的数值都不相等,包括自己</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">只能通过isNaN(NaN)来判断这个数是否是NaN</span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-plain">浮点数问题</span></strong></span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-variable">console.<span class="cm-property">log((<span class="cm-number">1<span class="cm-operator">/<span class="cm-number">3) <span class="cm-operator">=== (<span class="cm-number">1<span class="cm-operator">-<span class="cm-number">2<span class="cm-operator">/<span class="cm-number">3))</span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">尽量避免使用浮点数进行运算,存在精度问题!</span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-variable">Math.<span class="cm-property">abs(<span class="cm-number">1<span class="cm-operator">/<span class="cm-number">3<span class="cm-operator">-(<span class="cm-number">1<span class="cm-operator">-<span class="cm-number">2<span class="cm-operator">/<span class="cm-number">3))<span class="cm-operator"><<span class="cm-number">0.00000001</span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-plain">数组</span></strong><span class="md-softbreak"><br><span class="md-plain"> Java的数组必须是相同类型的对象~,JS中不需要这样</span></span></span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-comment">//保证代码的可读性,尽量使用[]<br> <span><span class="cm-keyword">var <span class="cm-def">arr <span class="cm-operator">= [<span class="cm-number">1,<span class="cm-number">2,<span class="cm-number">3,<span class="cm-number">4,<span class="cm-number">5,<span class="cm-string">'hello',<span class="cm-atom">null,<span class="cm-atom">true];<br> <span><span class="cm-comment">//第二种定义方法<br> <span><span class="cm-keyword">new <span class="cm-variable">Array(<span class="cm-number">1,<span class="cm-number">2,<span class="cm-number">3,<span class="cm-number">4,<span class="cm-number">5,<span class="cm-string">'hello');</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">取数字下标:如果越界了,就会 报undefined</span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-atom">undefined</span></span></pre>
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-plain">对象</span></strong><span class="md-softbreak"><br><span class="md-plain"> 对象是大括号,数组是中括号</span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">每个属性之间使用逗号隔开,最后一个属性不需要逗号</span></p>
</blockquote>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span>// Person person = new Person(1,2,3,4,5);<br> <span><span><br> <span>var person = {<br> <span><span class="cm-tab"> name:'Tom',<br> <span><span class="cm-tab"> age:3,<br> <span><span class="cm-tab"> tags:['js','java','web','...']<br> <span>}<br> <span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-plain">取对象值</span></strong></span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-variable">person.<span class="cm-property">name<br> <span><span class="cm-operator">> <span class="cm-string">"Tom"<br> <span><span class="cm-variable">person.<span class="cm-property">age<br> <span><span class="cm-operator">> <span class="cm-number">3</span></span></span></span></span></span></span></span></span></span></span></span></pre>
<h3 class="md-end-block md-heading"><span class="md-pair-s "><strong><span class="md-plain">2.4、严格检查格式</span></strong><span class="md-plain">use strict</span></span></h3>
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-image md-img-loaded" data-src="https://z3.ax1x.com/2021/07/06/RoWRKI.png"><img src="https://z3.ax1x.com/2021/07/06/RoWRKI.png"></span></span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><!DOCTYPE html><br> <span><html lang="en"><br> <span><head><br> <span> <meta charset="UTF-8"><br> <span> <title>Title</title><br> <span> <!--<br> <span> 前提:IDEA需要设置支持ES6语法<br> <span> 'use strict';严格检查模式,预防JavaScript的随意性导致产生的一些问题<br> <span> 必须写在JavaScript的第一行!<br> <span> 局部变量建议都使用let去定义~<br> <span> --><br> <span> <script><br> <span> 'use strict';<br> <span> //全局变量<br> <span> let i=1<br> <span> //ES6 let<br> <span> </script><br> <span></head><br> <span><body><br> <span><span><br> <span></body><br> <span></html><br> <span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<h2 class="md-end-block md-heading"><span class="md-plain">3、数据类型</span></h2>
<h3 class="md-end-block md-heading"><span class="md-plain">3.1、字符串</span></h3>
<h4 class="md-end-block md-heading"><span class="md-plain">1、正常字符串我们使用 单引号,或者双引号包裹</span></h4>
<h4 class="md-end-block md-heading"><span class="md-plain">2、注意转义字符 \</span></h4>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-variable">\<span class="cm-string">'<br> <span><span class="cm-variable">\n<br> <span><span class="cm-variable">\t<br> <span><span class="cm-variable">\u4e2d <span class="cm-variable">\u##### <span class="cm-variable">Unicode字符<br> <span><span><br> <span><span class="cm-variable">\x41<span class="cm-tab"> <span class="cm-variable">Ascall字符</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<h4 class="md-end-block md-heading"><span class="md-plain">3、多行字符串编写</span></h4>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-comment">//tab 上面 esc下面<br> <span> <span class="cm-keyword">var <span class="cm-def">msg <span class="cm-operator">=<br> <span> <span class="cm-string-2">`hello<br> <span> <span class="cm-string-2">world<br> <span> <span class="cm-string-2">你好呀<br> <span> <span class="cm-string-2">nihao<br> <span> <span class="cm-string-2">`</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<h4 class="md-end-block md-heading"><span class="md-plain">4、模板字符串</span></h4>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-comment">//tab 上面 esc下面<br> <span><span class="cm-keyword">let <span class="cm-def">name <span class="cm-operator">= <span class="cm-string">'Tom';<br> <span><span class="cm-keyword">let <span class="cm-def">age <span class="cm-operator">= <span class="cm-number">3;<br> <span><span class="cm-keyword">var <span class="cm-def">msg <span class="cm-operator">= <span class="cm-string-2">`你好,${<span class="cm-variable">name<span class="cm-string-2">}`</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<h4 class="md-end-block md-heading"><span class="md-plain">5、字符串长度</span></h4>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">str.length</pre>
<h4 class="md-end-block md-heading"><span class="md-plain">6、字符串的可变性,不可变</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508110738649.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508110738649.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">7、大小写转换</span></h4>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">//注意,这里是方法,不是属性了<br>student.toUpperCase();<br>student.toLowerCase();</pre>
<h4 class="md-end-block md-heading"><span class="md-plain">8、student.indexof(‘t’)</span></h4>
<h4 class="md-end-block md-heading"><span class="md-plain">9、substring,从0开始</span></h4>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">[)<br>student.substring(1)//从第一个字符串截取到最后一个字符串<br>student.substring(1,3)//[1,3)</pre>
<h3 class="md-end-block md-heading"><span class="md-plain">3.2、数组</span></h3>
<p class="md-end-block md-p"><span class="md-plain"> Array可以包含任意的数据类型</span></p>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">var arr = ;//通过下标取值和赋值<br>1</pre>
<h4 class="md-end-block md-heading"><span class="md-plain">1、长度</span></h4>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">arr.length</pre>
<p class="md-end-block md-p"><span class="md-plain">注意:假如给arr.lennth赋值,数组大小就会发生变化~,如果赋值过小,元素就会丢失</span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">2、indexOf,</span></h4>
<p class="md-end-block md-p"><span class="md-plain">通过元素获得下标索引</span></p>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">arr.indexOf(2)<br>1</pre>
<p class="md-end-block md-p"><span class="md-plain">字符串的"1"和数字 1 是不同的</span></p>
<h4 class="md-end-block md-heading"><span class="md-pair-s "><strong><span class="md-plain">3、slice()</span></strong></span></h4>
<p class="md-end-block md-p"><span class="md-plain">截取Array的一部分,返回的一个新数组,类似于String中substring</span></p>
<h4 class="md-end-block md-heading"><span class="md-pair-s "><strong><span class="md-plain">4、push(),pop()尾部</span></strong></span></h4>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">push:压入到尾部<br>pop:弹出尾部的一个元素</pre>
<h4 class="md-end-block md-heading"><span class="md-pair-s "><strong><span class="md-plain">5、unshift(),shift() 头部</span></strong></span></h4>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">unshift:压入到头部<br>shift:弹出头部的一个元素<br>12</pre>
<h4 class="md-end-block md-heading"><span class="md-plain">6、排序sort()</span></h4>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">(3)["B","C","A"]<br>arr.sort()<br>(3)["A","B","C"]</pre>
<h4 class="md-end-block md-heading"><span class="md-plain">7、元素反转reverse()</span></h4>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">(3)["A","B","C"]<br>arr.reverse()<br>(3)["C","B","A"]<br>123</pre>
<h4 class="md-end-block md-heading"><span class="md-pair-s "><strong><span class="md-plain">8、concat()</span></strong></span></h4>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508153119816.png"><img src="https://img-blog.csdnimg.cn/20200508153119816.png"></span></p>
<p class="md-end-block md-p"><span class="md-plain">注意:concat()并没有修改数组,只是会返回一个新的数组</span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">9、连接符join</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> 打印拼接数组,使用特定的字符串连接<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508153243846.png"><img src="https://img-blog.csdnimg.cn/20200508153243846.png"></span></span></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">10、多维数组</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508153447514.png"><img src="https://img-blog.csdnimg.cn/20200508153447514.png"></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">数组:存储数据(如何存,如何取,方法都可以自己实现!)</span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">3.3、对象 </span></h3>
<p class="md-end-block md-p"><span class="md-plain">若干个键值对 </span></p>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">var 对象名 = {<br> 属性名:属性值,<br> 属性名:属性值,<br> 属性名:属性值<br>}<br>//定义了一个person对象,它有四个属性<br>var person = {<br> name:"Tom",<br> age:3,<br> email:"123456798@QQ.com",<br> score:66<br>}</pre>
<p class="md-end-block md-p"><span class="md-plain">Js中对象,{…}表示一个对象,建制对描述属性xxx:xxx,多个属性之间用逗号隔开,最后一个属性不加逗号! JavaScript中的所有的键都是字符串,值是任意对象! 1、对象赋值</span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">1、对象赋值</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508155833832.png"><img src="https://img-blog.csdnimg.cn/20200508155833832.png"><span class="md-softbreak"><br><span class="md-plain"> 2、使用一个不存在的对象属性,不会报错!</span></span></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">undefined</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508155917394.png"><img src="https://img-blog.csdnimg.cn/20200508155917394.png"></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">3、动态的删减属性,通过delete删除对象的属性</span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">delete<span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508160429505.png"><img src="https://img-blog.csdnimg.cn/20200508160429505.png"></span></span></h4>
<p class="md-end-block md-p"><span class="md-plain"> 4、动态的添加,直接给新的属性添加值即可<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508160409465.png"><img src="https://img-blog.csdnimg.cn/20200508160409465.png"><span class="md-softbreak"><br><span class="md-plain"> 5、判断属性值是否在这个对象中!</span></span></span></span></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">xxx in xxx</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508160704412.png"><img src="https://img-blog.csdnimg.cn/20200508160704412.png"><span class="md-softbreak"><br><span class="md-plain"> 6、判断一个属性是否是这个对象自身拥有的 </span></span></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">hasOwnProperty()</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508160950801.png"><img src="https://img-blog.csdnimg.cn/20200508160950801.png"></span></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">3.4、流程控制</span></h3>
<h4 class="md-end-block md-heading"><span class="md-plain">i f判断</span></h4>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508161158507.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508161158507.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">while循环,避免程序死循环</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508161549241.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508161549241.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">for循环</span></h4>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508161625832.png"><img src="https://img-blog.csdnimg.cn/20200508161625832.png"></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">forEach循环</span></h4>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">ES5.1特性</span></p>
</blockquote>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508162100917.png"><img src="https://img-blog.csdnimg.cn/20200508162100917.png"></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">for …in-------下标</span></h4>
<h4 class="md-end-block md-heading"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508162209421.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508162209421.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></h4>
<h3 class="md-end-block md-heading"><span class="md-plain">3.5、Map和Set</span></h3>
<p class="md-end-block md-p"> </p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">ES6的新特性~</span></p>
</blockquote>
<p class="md-end-block md-p"> </p>
<h4 class="md-end-block md-heading"><span class="md-plain">Map</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508163109596.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508163109596.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">Set:无序不重复的集合</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508163211654.png"><img src="https://img-blog.csdnimg.cn/20200508163211654.png"></span></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">3.6、iterator </span></h3>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">es6新特性</span></p>
</blockquote>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-plain">作业:使用iterator来遍历迭代我们Map,Set!<span class="md-softbreak"><br><span class="md-plain"> 遍历数组<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/2020050816410825.png"><img src="https://img-blog.csdnimg.cn/2020050816410825.png"></span></span></span></span></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">遍历Map</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508164125573.png"><img src="https://img-blog.csdnimg.cn/20200508164125573.png"></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">遍历set</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508164144469.png"><img src="https://img-blog.csdnimg.cn/20200508164144469.png"></span></span></p>
<h2 class="md-end-block md-heading"><span class="md-plain">4、函数</span></h2>
<h3 class="md-end-block md-heading"><span class="md-plain">4.1、定义函数</span></h3>
<h4 class="md-end-block md-heading"><span class="md-plain">定义方式一</span></h4>
<p class="md-end-block md-p"><span class="md-plain">绝对值函数<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/2020050818170197.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/2020050818170197.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><span class="md-softbreak"><br><span class="md-plain"> 一旦执行到return代表函数结束,返回结果!<span class="md-softbreak"><br><span class="md-plain"> 如果没有执行return,函数执行完也会返回结果,结果就是undefined</span></span></span></span></span></span></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">定义方式二</span></h4>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508182120582.png"><img src="https://img-blog.csdnimg.cn/20200508182120582.png"><span class="md-softbreak"><br><span class="md-plain"> function(x){…}这是一个匿名函数。但是可以吧结果赋值给abs,通过abs就可以调用函数!<span class="md-softbreak"><br><span class="md-plain"> 方式一和方式二等价!</span></span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">调用函数</span></p>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">abs(10)//10<br>abs(-10) //10</pre>
<p class="md-end-block md-p"><span class="md-plain">参数问题:javaScript可以传任意个参数,也可以不传递参数~<span class="md-softbreak"><br><span class="md-plain"> 参数进来是否存在问题?<span class="md-softbreak"><br><span class="md-plain"> 假设不存在参数,如何规避?<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508182908571.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508182908571.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></span></span></span></span></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">arguments</span></h4>
<p class="md-end-block md-p"><span class="md-plain">arguments是一个JS免费赠送的关键字;<span class="md-softbreak"><br><span class="md-plain"> 代表,传递进来的所有参数,是一个数组!<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508183337762.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508183337762.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><span class="md-softbreak"><br><span class="md-plain"> 问题:arguments包含所有的参数,我们有时候想使用多余的参数来进行附加操作。需要排除已有参数~</span></span></span></span></span></span></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-pair-s "><strong><span class="md-plain">rest</span></strong></span></h4>
<p class="md-end-block md-p"><span class="md-plain">以前:</span></p>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508183752806.png"><img src="https://img-blog.csdnimg.cn/20200508183752806.png"></span></span></p>
<p class="md-end-block md-p"><span class="md-plain"> ES6引入的新特性,获取除了已经定义的参数之外的所有参数~…<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508183918899.png"><img src="https://img-blog.csdnimg.cn/20200508183918899.png"><span class="md-softbreak"><br><span class="md-plain"> rest参数只能写在最后面,必须用…标识。</span></span></span></span></span></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">4.2、变量的作用域</span></h3>
<p class="md-end-block md-p"><span class="md-plain">在javascript中,var定义变量实际是有作用于的。<span class="md-softbreak"><br><span class="md-plain"> 假设在函数体重声明,则在函数体外不可以使用~(闭包)<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/202005081843310.png"><img src="https://img-blog.csdnimg.cn/202005081843310.png"><span class="md-softbreak"><br><span class="md-plain"> 如果两个函数使用了相同的变量名,只要在函数内部就不冲突<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508213017794.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508213017794.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><span class="md-softbreak"><br><span class="md-plain"> 内部函数可以访问外部函数的成员,反之则不行<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/2020050821304022.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/2020050821304022.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">假设,内部函数变量和外部函数变量,重名!<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508214742767.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508214742767.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><span class="md-softbreak"><br><span class="md-plain"> 假设在JavaScript中,函数查找变量从自身函数开始~, 由“内”向“外”查找,假设外部存在这个同名的函数变量,则内部函数会屏蔽外部函数的变量。</span></span></span></span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">提升变量的作用域</span></p>
</blockquote>
<h4 class="md-end-block md-heading"><span class="md-plain">提升变量的作用域</span></h4>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508215241301.png"><img src="https://img-blog.csdnimg.cn/20200508215241301.png"><span class="md-softbreak"><br><span class="md-plain"> 结果:x undefined<span class="md-softbreak"><br><span class="md-plain"> 说明:js执行引擎,自动提升了y的声明,但是不会提升变量y的赋值;<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508215909640.png"><img src="https://img-blog.csdnimg.cn/20200508215909640.png"><span class="md-softbreak"><br><span class="md-plain"> 这个是在javascript建立之初就存在的特性。 养成规范:所有 的变量定义都放在函数的头部,不要乱放,便于代码维护;<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/2020050822470141.png"><img src="https://img-blog.csdnimg.cn/2020050822470141.png"></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">全局变量</span></p>
</blockquote>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508224905458.png"><img src="https://img-blog.csdnimg.cn/20200508224905458.png"></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">全局对象window</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508225326543.png"><img src="https://img-blog.csdnimg.cn/20200508225326543.png"></span></span></p>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-plain">alert() 这个函数本身也是一个window的变量;<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508225810801.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508225810801.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><span class="md-softbreak"><br><span class="md-plain"> javascript实际上只有一个全局作用域,任何变量(函数也可以视为变量),假设没有在函数作用范围内找到,就会向外查找,如果在全局作用域都没有找到,就会报错 Refrence</span></span></span></span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">规范</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">由于我们的所有变量都会绑定到window上,。如果不同的js文件,使用了相同的全局变量,就会产生冲突—>如何减少这样的冲突?</span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">唯一全局变量</span></h4>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508230620266.png"><img src="https://img-blog.csdnimg.cn/20200508230620266.png"><span class="md-softbreak"><br><span class="md-plain"> 把自己的代码全部放入自己定义的唯一空间名字中,降低全局命名冲突问题~<span class="md-softbreak"><br><span class="md-plain"> jQuery中就是使用的该方法:jQuery.name,简便写法:<span class="md-pair-s "><strong><span class="md-plain">$()</span></strong></span></span></span></span></span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">局部作用域</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508231056855.png"><img src="https://img-blog.csdnimg.cn/20200508231056855.png"><span class="md-softbreak"><br><span class="md-plain"> ES6的let关键字,解决了局部作用域冲突的问题!</span></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">let关键字</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508231207856.png"><img src="https://img-blog.csdnimg.cn/20200508231207856.png"><span class="md-softbreak"><br><span class="md-plain"> 建议大家都用let去定义局部作用域的变量;</span></span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">常量 </span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">在ES6之前,怎么定义常量:只有用全部大写字母命名的变量就是常量;建议不要修改这样的值。<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508231525623.png"><img src="https://img-blog.csdnimg.cn/20200508231525623.png"><span class="md-softbreak"><br><span class="md-plain"> 在ES6引入了</span></span></span></span></span></span></p>
<h4 class="md-end-block md-heading"><span class="md-plain">常量关键字 const</span></h4>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508232049107.png"><img src="https://img-blog.csdnimg.cn/20200508232049107.png"></span></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">4.3、方法</span></h3>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">定义方法</span></p>
</blockquote>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-plain">方法就是把函数放在对象的里面,对象只有两个东西:属性和方法<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508232559873.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508232559873.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><span class="md-softbreak"><br><span class="md-plain"> this.代表什么?拆开上main的代码看看<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508232827102.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508232827102.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><span class="md-softbreak"><br><span class="md-plain"> this是无法指向的,是默认指向调用它的那个对象的;</span></span></span></span></span></span></span></span></span></span></span></p>
<p class="md-end-block md-p"> </p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">apply</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">在js中可以控制this指向<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508233222629.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508233222629.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></span></span></p>
<p class="md-end-block md-p"> </p>
<h2 class="md-end-block md-heading"><span class="md-plain">5、内部对象</span></h2>
<p class="md-end-block md-p"> </p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">标准对象</span></p>
</blockquote>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508233500524.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508233500524.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></p>
<p class="md-end-block md-p"> </p>
<h3 class="md-end-block md-heading"><span class="md-plain">5.1、Date</span></h3>
<p class="md-end-block md-p"><span class="md-pair-s "><strong><span class="md-plain">基本使用</span></strong><span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/2020050823390552.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/2020050823390552.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><span class="md-softbreak"><br><span class="md-plain"> 转换<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508233954136.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508233954136.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></span></span></span></span></span></span></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">5.2、JSON</span></h3>
<blockquote>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">JSON是什么</span></p>
</blockquote>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain"> </span></p>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508234238700.png"><img src="https://img-blog.csdnimg.cn/20200508234238700.png"><span class="md-softbreak"><br><span class="md-plain"> 在javascript中,一切皆为对象,任何js支持的类型都可以用JSON表示<span class="md-softbreak"><br><span class="md-plain"> 格式</span></span></span></span></span></span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">对象都用{}</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">数组都用[]</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">所有的键值对 都是用key:value</span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain"> JSON字符串和js对象转化<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508234804502.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200508234804502.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><span class="md-softbreak"><br><span class="md-plain"> 很多人搞不清楚,JSON和JS对象的区别<span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200508235017515.png"><img src="https://img-blog.csdnimg.cn/20200508235017515.png"></span></span></span></span></span></span></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">5.3、AJAX</span></h3>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">原生的js写法 xhr异步请求</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">jQuery封装好的方法$(#name).</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">ajax("")axios请求 </span></p>
</li>
</ul>
<h2 class="md-end-block md-heading"><span class="md-plain">6、面向对象编程 </span></h2>
<p class="md-end-block md-p"><span class="md-plain"> 原型对象 javascript、java、c#------面向对象;但是javascript有些区别! </span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">类:模板</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">对象:具体实例 </span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain">在javascript中,需要大家转换一下思维方式! 原型: <span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509210303742.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200509210303742.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509210627825.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200509210627825.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></span></span></span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">class集继承</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">class关键字,是在ES6引入的<span class="md-softbreak"><br><span class="md-plain"> 1、定义一个类、属性、方法<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509210756344.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200509210756344.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><span class="md-softbreak"><br><span class="md-plain"> 2、继承</span></span></span></span></span></span></span></span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><script><br> <span><span class="cm-tab"> //ES6之后========================<br> <span><span class="cm-tab"> //定义一个学生的类<br> <span><span class="cm-tab"> class Student{<br> <span><span class="cm-tab"> <span class="cm-tab"> constructor(name){<br> <span><span class="cm-tab"> <span class="cm-tab"> <span class="cm-tab"> this.name = name;<br> <span><span class="cm-tab"> <span class="cm-tab"> }<br> <span><span class="cm-tab"> <span class="cm-tab"> hello(){<br> <span><span class="cm-tab"> <span class="cm-tab"> <span class="cm-tab"> alert('hello');<br> <span><span class="cm-tab"> <span class="cm-tab"> }<br> <span>}<br> <span><span><br> <span><span class="cm-tab"> class XiaoStudent extends Student{<br> <span><span class="cm-tab"> <span class="cm-tab"> constructor(name,grade){<br> <span><span class="cm-tab"> <span class="cm-tab"> <span class="cm-tab"> super(name);<br> <span><span class="cm-tab"> <span class="cm-tab"> <span class="cm-tab"> this.grade = grade;<br> <span><span class="cm-tab"> <span class="cm-tab"> }<br> <span><span class="cm-tab"> <span class="cm-tab"> myGrade(){<br> <span><span class="cm-tab"> <span class="cm-tab"> <span class="cm-tab"> alert('我是一名小学生');<br> <span><span class="cm-tab"> <span class="cm-tab"> }<br> <span><span class="cm-tab"> }<br> <span><span><br> <span><span class="cm-tab"> var xiaoming = new Student("xiaoming");<br> <span><span class="cm-tab"> var xiaohong = new XiaoStudent("xiaohong",1);<br> <span></script><br> <span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">本质:查看对象原型<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509211811667.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200509211811667.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></span></span></p>
<p class="md-end-block md-p"> </p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">原型链</span></p>
</blockquote>
<p class="md-end-block md-p"> </p>
<p class="md-end-block md-p"><span class="md-pair-s "><em><span class="md-plain">proto</span></em><span class="md-plain">:<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509212115371.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200509212115371.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></span></span></span></p>
<h2 class="md-end-block md-heading"><span class="md-plain">7、操作BOM对象(重点)</span></h2>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">浏览器介绍</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">javascript和浏览器关系?<span class="md-softbreak"><br><span class="md-plain"> BOM:浏览器对象模型</span></span></span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">IE6~11</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">Chrome</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">Safari</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">FireFox</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">Opera</span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain">三方</span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">QQ浏览器</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">360浏览器</span></p>
</li>
</ul>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">window</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">window代表浏览器窗口</span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">window <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509224733766.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200509224733766.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></h3>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">Navigator(不建议使用)</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">Navigator封装了浏览器的信息</span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">Navigator(不建议使用) <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509225010877.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200509225010877.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></h3>
<p class="md-end-block md-p"><span class="md-plain"> 大多数时候,我们不会使用navigator对象,因为会被认为修改!<span class="md-softbreak"><br><span class="md-plain"> 不建议使用这些属性来判断和编写代码</span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">screen</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">代表屏幕尺寸</span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">screen</span></h3>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509225316614.png"><img src="https://img-blog.csdnimg.cn/20200509225316614.png"></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">location(重要)</span></p>
</blockquote>
<h3 class="md-end-block md-heading"><span class="md-pair-s "><em><span class="md-plain">location(重要)</span></em><span class="md-plain">**</span></span></h3>
<p class="md-end-block md-p"><span class="md-plain">location代表当前页面的URL信息<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509225614305.png"><img src="https://img-blog.csdnimg.cn/20200509225614305.png"></span></span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">document(内容DOM)</span></p>
</blockquote>
<h3 class="md-end-block md-heading"><span class="md-plain">document(内容DOM)</span></h3>
<p class="md-end-block md-p"><span class="md-plain">document代表当前的页面,HTML DOM文档树<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509225911170.png"><img src="https://img-blog.csdnimg.cn/20200509225911170.png"><span class="md-softbreak"><br><span class="md-plain"> 获取具体的文档树节点<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509225947396.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200509225947396.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></span></span></span></span></span></span></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">获取cookie</span></h3>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509230037645.png"><img src="https://img-blog.csdnimg.cn/20200509230037645.png"><span class="md-softbreak"><br><span class="md-plain"> 劫持cookie原理<span class="md-softbreak"><br><span class="md-plain"> <span class="md-link md-pair-s">www.taobao.com<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/2020050923025532.png"><img src="https://img-blog.csdnimg.cn/2020050923025532.png"><span class="md-softbreak"><br><span class="md-plain"> 服务器端可以设置cookie为<span class="md-pair-s "><strong><span class="md-plain">httpOnly</span></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">history(不建议使用 )</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">history代表浏览器的历史记录</span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">history <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509230639949.png"><img src="https://img-blog.csdnimg.cn/20200509230639949.png"></span></span></h3>
<h2 class="md-end-block md-heading"><span class="md-plain">8、操作DOM对象(重点)</span></h2>
<p class="md-end-block md-p"><span class="md-plain">DOM:文档对象模型</span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">核心</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">浏览器网页就是一个Dom树形结构!</span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">更新:更新Dom节点</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">遍历Dom节点:得到Dom节点</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">删除:删除一个Dom节点</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">添加:添加一个新的节点</span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain">要操作一个Dom节点,就必须要先获得这个Dom节点</span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">获得Dom节点</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509231806822.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200509231806822.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></p>
<p class="md-end-block md-p"><span class="md-plain">这是原生代码,之后我们尽量都使用jQuery()</span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">更新节点</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509232232560.png"><img src="https://img-blog.csdnimg.cn/20200509232232560.png"><span class="md-softbreak"><br><span class="md-plain"> 操作文本<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509232256674.png"><img src="https://img-blog.csdnimg.cn/20200509232256674.png"><span class="md-softbreak"><br><span class="md-plain"> 操作css<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509232439513.png"><img src="https://img-blog.csdnimg.cn/20200509232439513.png"></span></span></span></span></span></span></span></span></span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">删除节点</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">删除节点的步骤:先获取父节点,再通过父节点删除自己<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509232903448.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200509232903448.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">注意:删除多个节点的时候,children是在时刻变化的,删除节点的时候一定要注意。</span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">插入节点</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">我们获得了某个Dom节点,假设这个dom节点是空的,我们通过innerHTML就可以增加一个元素了,但是这个Dom节点已经存在元素了,我们就不能这么干了!会产生覆盖</span></p>
<p class="md-end-block md-p"><span class="md-plain">追加<span class="md-softbreak"><br><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/20200509233556254.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/20200509233556254.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain"> <span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/2020050923363290.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"><img src="https://img-blog.csdnimg.cn/2020050923363290.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Bhbl9oMTk5NQ==,size_16,color_FFFFFF,t_70"></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">创建一个新的标签</span></p>
</blockquote>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><script><br> <span><span class="cm-tab"> var js = document.getElementById('js');//已经存在的节点<br> <span> var list = document.getElementById('list');<br> <span> //通过JS创建一个新的节点<br> <span> var newP = document.creatElement('p');//创建一个p标签<br> <span> newP.id = 'newP';<br> <span> newP.innerText = 'Hello,Kuangshen';<br> <span> //创建一个标签节点<br> <span> var myScript = document.creatElement('script');<br> <span> myScript.setAttribute('type','text/javascript');<br> <span> <br> <span> //可以创建一个style标签<br> <span> var myStyle = document.creatElement('style');//创建了一个空style标签<br> <span> myStyle.setAttribute('type','text/css');<br> <span> myStyle.innerHTML = 'body{background-color:chartreuse;}';//设置标签内容<br> <span> <br> <span> document.getElementByTagName('head').appendChild(myStyle);<br> <span></script></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">insertBefore</span></p>
</blockquote>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno">var ee = document.getElementById('ee');<br>var js = document.getElementById('js');<br>var list = document.getElementById('list');<br>//要包含的节点.insertBefore(newNode,targetNode)<br>list.insertBefore(js,ee);</pre>
<blockquote>
<h3 class="md-end-block md-heading"><span class="md-pair-s "><strong><span class="md-link md-pair-s">https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js</span></strong></span></h3>
</blockquote>
<h2 class="md-end-block md-heading"><span class="md-plain">9、操作表单form***</span></h2>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">表单是什么?form-----DOM树</span></p>
</blockquote>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">文本框----text</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">下拉框----select</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">单选框----radio</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">多选框----checkbox</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">隐藏域----hidden</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">密码框----password</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">…</span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain">表单的目的提交信息</span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">获得要提交的信息</span></p>
</blockquote>
<pre class="md-fences mock-cm md-end-block md-fences-with-lineno"><body><br> <form action = "post"><br> <p><br> <span>用户名:</span><input type="text" id = "username" /><br> </p><br> <!--多选框的值就是定义好的value--><br> <p><br> <span>性别:</span><br> <input type = "radio" name = "sex" value = "man" id = "boy"/>男<br> <input type = "radio" name = "sex" value = "woman" id = "girl"/>女<br> </p><br> </form><br> <script><br> var input_text = document.getElementById("username");<br> var boy_radio = document.getElementById("boy");<br> var girl_radio = document.getElementById("girl");<br> //得到输入框的值<br> input_text.value <br> //修改输入框的值<br> input_text.value= "value";<br> <br> //对于单选框,多选框等等固定的值,boy_radio.value只能取到当前的值<br> boy_radio.checked;//查看返回的结果,是否为true,如果为true,则被选中。<br> girl_radio.checked = true;//赋值<br> <br> </script><br></body></pre>
<p class="md-end-block md-p"><span class="md-plain">提交表单。md5加密密码,表单优化</span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">onsubmit = "return aaa()"</span></h3>
<h3 class="md-end-block md-heading"><span class="md-plain">onclick </span></h3>
<h3 class="md-end-block md-heading"><span class="md-plain">md5加密 </span></h3>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><!DOCTYPE html><br> <span><html lang = "en"><br> <span> <head><br> <span> <meta charset = "UTF-8"><br> <span> <title>Title</title><br> <span> <!--MD5加密工具类--><br> <span> <script src = "https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js"><br> <span class="cm-tab-wrap-hack"> <span class="cm-tab"> <br> <span> </script><br> <span> </head><br> <span> <body><br> <span> <!--表达绑定提交事件<br> <span><span class="cm-tab"> <span class="cm-tab"> <span class="cm-tab"> οnsubmit= 绑定一个提交检测的函数,true,false<br> <span><span class="cm-tab"> <span class="cm-tab"> <span class="cm-tab"> 将这个结果返回给表单,使用onsubmit接收<br> <span><span class="cm-tab"> <span class="cm-tab"> --><br> <span> <form action = "https://www.baidu.com" method = "post" onsubmit = "return aaa()"><br> <span> <p><br> <span> <span class="cm-tab"> <span>用户名:</span><input type="text" id = "username" name = "username"/><br> <span> <span class="cm-tab"> </p><br> <span> <p><br> <span> <span class="cm-tab"> <span>密码:</span><input type="password" id = "password" /><br> <span> <span class="cm-tab"> </p><br> <span> <input type = "hidden" id = "md5-password" name = "password"> <br> <span> <br> <span> <!--绑定事件 onclick 被点击--><br> <span> <button type = "submit">提交</button><br> <span> <br> <span> </form><br> <span> <br> <span> <script><br> <span> <span class="cm-tab"> function aaa(){<br> <span> alert(1);<br> <span> var username = document.getElementById("username");<br> <span> var pwd = document.getElementById("password");<br> <span> var md5pwd = document.getElementById("md5-password");<br> <span> //pwd.value = md5(pwd,value);<br> <span> md5pwd.value = mad5(pwd.value);<br> <span> //可以校验判断表单内容,true就是通过提交,false就是阻止提交<br> <span> return false;<br> <span> <br> <span> }<br> <span> </script><br> <span> <br> <span> </body><br> <span></html><br> <span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<h2 class="md-end-block md-heading"><span class="md-plain">10、jQuery</span></h2>
<p class="md-end-block md-p"><span class="md-plain">javaScript和jQuery的关系?</span></p>
<p class="md-end-block md-p"><span class="md-plain">jQuery库,里面存在大量的JavaScript函数</span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">获取jQuery</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://img-blog.csdnimg.cn/2020051021540896.png"><img src="https://img-blog.csdnimg.cn/2020051021540896.png"></span></p>
<h3 class="md-end-block md-heading"><span class="md-pair-s "><strong><span class="md-plain">公式:$(selector).action()*</span></strong><span class="md-pair-s "><strong><span class="md-plain">**</span></strong></span></span></h3>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-meta"><!DOCTYPE html><br> <span><span class="cm-tag cm-bracket"><<span class="cm-tag">html <span class="cm-attribute">lang = <span class="cm-string">"en"<span class="cm-tag cm-bracket">><br> <span> <span class="cm-tag cm-bracket"><<span class="cm-tag">head<span class="cm-tag cm-bracket">><br> <span> <span class="cm-tag cm-bracket"><<span class="cm-tag">meta <span class="cm-attribute">charset = <span class="cm-string">"UTF-8"<span class="cm-tag cm-bracket">><br> <span> <span class="cm-tag cm-bracket"><<span class="cm-tag">title<span class="cm-tag cm-bracket">>Title<span class="cm-tag cm-bracket"></<span class="cm-tag">title<span class="cm-tag cm-bracket">><br> <span> <span class="cm-tag cm-bracket"><<span class="cm-tag">script <span class="cm-attribute">src=<span class="cm-string">"lib/jquery-3.4.1.js"<span class="cm-tag cm-bracket">></<span class="cm-tag">script<span class="cm-tag cm-bracket">><br> <span> <span class="cm-tag cm-bracket"></<span class="cm-tag">head<span class="cm-tag cm-bracket">><br> <span> <span class="cm-tag cm-bracket"><<span class="cm-tag">body<span class="cm-tag cm-bracket">><br> <span> <span class="cm-tag cm-bracket"><<span class="cm-tag">a <span class="cm-attribute">href=<span class="cm-string">"" <span class="cm-attribute">id = <span class="cm-string">"test-jquery"<span class="cm-tag cm-bracket">>点我<span class="cm-tag cm-bracket"></<span class="cm-tag">a<span class="cm-tag cm-bracket">><br> <span> <span class="cm-tag cm-bracket"><<span class="cm-tag">script<span class="cm-tag cm-bracket">><br> <span> <span class="cm-tab"> <span class="cm-comment">//选择器就是css选择器<br> <span> <span class="cm-variable">$(<span class="cm-string">'#test-jquery').<span class="cm-property">click(<span class="cm-keyword">function(){<br> <span> <span class="cm-variable">alert(<span class="cm-string">'hello,jQuery!');<br> <span> });<br> <span> <span class="cm-tag cm-bracket"></<span class="cm-tag">script<span class="cm-tag cm-bracket">><br> <span> <span class="cm-tag cm-bracket"></<span class="cm-tag">body<span class="cm-tag cm-bracket">><br> <span><span class="cm-tag cm-bracket"></<span class="cm-tag">html<span class="cm-tag cm-bracket">><br> <span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">选择器</span></p>
</blockquote>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-comment">//原生js,选择器少,麻烦不好记<br> <span><span class="cm-comment">//标签<br> <span><span class="cm-variable">document.<span class="cm-property">getElementByTagName();<br> <span><span class="cm-comment">//id<br> <span><span class="cm-variable">document.<span class="cm-property">getElementById();<br> <span><span class="cm-comment">//class<br> <span><span class="cm-variable">document.<span class="cm-property">getElementByClassName();<br> <span><span><br> <span><span class="cm-comment">//jQuery css中的选择器它全部都能用!<br> <span><span class="cm-variable">$(<span class="cm-string">'p').<span class="cm-property">click();<span class="cm-comment">//标签选择器<br> <span><span class="cm-variable">$(<span class="cm-string">'#id1').<span class="cm-property">click();<span class="cm-comment">//id选择器<br> <span><span class="cm-variable">$(<span class="cm-string">'.class1').<span class="cm-property">click;<span class="cm-comment">//class选择器</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<h3 class="md-end-block md-heading"><span class="md-plain">文档工具站:<span class="md-link md-pair-s">http://jquery.cuishifeng.cn/</span></span></h3>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">事件</span></p>
</blockquote>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span>鼠标事件、键盘事件,其他事件 <br> <span>mousedown()(jQuery)----按下<br> <span>mouseenter()(jQuery)<br> <span>mouseleave()(jQuery)<br> <span>mousemove()(jQuery)----移动<br> <span>mouseout()(jQuery)<br> <span>mouseover()(jQuery)<br> <span>mouseup()(jQuery)</span></span></span></span></span></span></span></span></pre>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><!DOCTYPE html><br> <span><html lang = "en"><br> <span> <head><br> <span> <meta charset = "UTF-8"><br> <span> <title>Title</title><br> <span> <script src="lib/jquery-3.4.1.js"></script><br> <span> <style><br> <span> #divMove{<br> <span> width:500px;<br> <span> height:500px;<br> <span> border:1px solid red;<br> <span> }<br> <span> </style><br> <span> </head><br> <span> <body><br> <span> <!--要求:获取鼠标当前的一个坐标--><br> <span> mouse:<span id = "mouseMove"></span><br> <span> <div id = "divMove"><br> <span> 在这里移动鼠标试试<br> <span> </div><br> <span> <script><br> <span> <span class="cm-tab"> //当网页元素加载完毕之后,响应事件<br> <span> //$(document).ready(function(){})<br> <span> $(function(){<br> <span> $('#divMove').mousemove(function(e){<br> <span> $('#mouseMove').text('x:'+e.pageX+"y:"+e.pageY)<br> <span> })<br> <span> });<br> <span> </script><br> <span> </body><br> <span></html><br> <span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">操作DOM</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-plain">操作DOM </span></p>
<p class="md-end-block md-p"><span class="md-plain">节点文本操作 </span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span>$('#test-ul li').text();//获得值<br> <span>$('#test-ul li').text('设置值');//设置值<br> <span>$('#test-ul').html();//获得值<br> <span>$('#test-ul').html('<strong>123</strong>');//设置值</span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">CSS的操作</span></p>
<p class="md-end-block md-p"><span class="md-pair-s"><code>$('#test-ul li').css({"color","red"});</code></span></p>
<p class="md-end-block md-p"><span class="md-plain">元素的显示和隐藏,:本质display:none</span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span>$('#test-ul li').show();<br> <span>$('#test-ul li').hide();</span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">娱乐测试</span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-variable">$(<span class="cm-variable">window).<span class="cm-property">width()<br> <span><span class="cm-variable">$(<span class="cm-variable">window).<span class="cm-property">height()<br> <span><span class="cm-variable">$(<span class="cm-string">'#test-ul li').<span class="cm-property">toggle();</span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p class="md-end-block md-p"><span class="md-plain">未来ajax();</span></p>
<pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded"> <span><span class="cm-variable">$(<span class="cm-string">'#form').<span class="cm-property">ajax()<br> <span><span><br> <span><span class="cm-variable">$.<span class="cm-property">ajax({<span class="cm-property">url:<span class="cm-string">"test.html",<span class="cm-property">context:<span class="cm-variable">document.<span class="cm-property">body,<span class="cm-property">success:<span class="cm-keyword">function(){<br> <span><span class="cm-tab"> <span class="cm-variable">$(<span class="cm-keyword">this).<span class="cm-property">addClass(<span class="cm-string">"done");<br> <span>}})<br> <span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<blockquote>
<p class="md-end-block md-p"><span class="md-plain">小技巧</span></p>
</blockquote>
<p class="md-end-block md-p md-focus"><span class="md-plain md-expand">1、如何巩固JS(看jQuery源码,看游戏源码! </span></p>
<p class="md-end-block md-p"><span class="md-plain">2、巩固HTML、CSS(扒网站,全部down下来,然后对应修改看效果~)a</span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-meta-i-c md-link"><span class="md-plain">学习视频来自狂神</span></span></p>
<p class="md-end-block md-p"><span class="md-meta-i-c md-link"><span class="md-plain">笔记链接参考</span></span></p>
</blockquote><br><br>
来源:https://www.cnblogs.com/th11/p/14987808.html
頁:
[1]