西朋杜哈瓦 發表於 2020-4-1 18:51:00

JavaScript基础

<h3 id="简介">简介</h3>
<p>一门客户端脚本语言,运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎;不需要编译,直接就可以被浏览器解析执行了。</p>
<h3 id="功能">功能</h3>
<p>可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。</p>
<h3 id="基本语法">基本语法</h3>
<ul>
<li>与html结合方式
<ul>
<li>内部JS:
<ul>
<li>定义<code>&lt;script&gt;</code>,标签体内容就是js代码</li>
</ul>
</li>
<li>外部JS:
<ul>
<li>定义<code>&lt;script&gt;</code>,通过src属性引入外部的js文件</li>
</ul>
</li>
<li>注意:
<ul>
<li><code>&lt;script&gt;</code>可以定义在html页面的任何地方。但是定义的位置会影响执行顺序</li>
<li><code>&lt;script&gt;</code>可以定义多个</li>
</ul>
</li>
</ul>
</li>
<li>注释
<ul>
<li>单行注释://注释内容</li>
<li>多行注释:<code>/*</code>注释内容<code>*/</code></li>
</ul>
</li>
<li>数据类型
<ul>
<li>原始数据类型(基本数据类型)
<ul>
<li>number:数字。 整数/小数/NaN(not a number 一个不是数字的数字类型)</li>
<li>string:字符串。 字符串"abc" "a" 'abc'</li>
<li>boolean: true和false</li>
<li>null:一个对象为空的占位符</li>
<li>undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined</li>
</ul>
</li>
<li>引用数据类型:对象</li>
</ul>
</li>
<li>变量
<ul>
<li>定义:一小块存储数据的内存空间</li>
<li>类型:弱类型,在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据。</li>
<li>语法:var 变量名 = 初始化值;</li>
<li>typeof运算符:获取变量的类型;null运算后得到的是object。</li>
</ul>
</li>
</ul>
<h3 id="运算符">运算符</h3>
<ul>
<li>一元运算符:只有一个运算数的运算符
<ul>
<li>++(--) 在前,先自增(自减),再运算</li>
<li>++(--) 在后,先运算,再自增(自减)</li>
<li>+(-):正负号
<ul>
<li>string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)</li>
<li>boolean转number:true转为1,false转为0</li>
<li>注意:在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换</li>
</ul>
</li>
</ul>
</li>
<li>算数运算符
<ul>
<li>
<ul>
<li>
<ul>
<li>
<ul>
<li>/ % ...</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>赋值运算符<br>
= += -+....</li>
<li>比较运算符<br>
<code>&gt; &lt; &gt;= &lt;= == ===(全等于)</code>
<ul>
<li>比较方式</li>
</ul>
<ol>
<li>类型相同:直接比较
<ul>
<li>字符串:按照字典顺序比较。按位逐一比较,直到得出大小为止。</li>
</ul>
</li>
<li>类型不同:先进行类型转换,再比较
<ul>
<li>===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false</li>
</ul>
</li>
</ol>
</li>
<li>逻辑运算符<br>
&amp;&amp; || !
<ul>
<li>其他类型转boolean
<ul>
<li>number:0或NaN为假,其他为真</li>
<li>string:除了空字符串(""),其他都是true</li>
<li>null&amp;undefined:都是false</li>
<li>对象:所有对象都为true</li>
</ul>
</li>
</ul>
</li>
<li>三元运算符
<ul>
<li>语法
<ul>
<li>表达式? 值1:值2;</li>
<li>判断表达式的值,如果是true则取值1,如果是false则取值2;</li>
</ul>
</li>
</ul>
</li>
<li>流程控制语句
<ul>
<li>if...else...</li>
<li>switch: 在JS中,switch语句可以接受任意的原始数据类型</li>
<li>while</li>
<li>do...while</li>
<li>for</li>
</ul>
</li>
<li>JS特殊语法
<ul>
<li>语句以;结尾,如果一行只有一条语句则 ;可以省略 (不建议)</li>
<li>变量的定义使用var关键字,也可以不使用
<ul>
<li>用: 定义的变量是局部变量</li>
<li>不用:定义的变量是全局变量(不建议)</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="对象">对象</h3>
<ul>
<li>创建方法对象
<ul>
<li>创建
<ul>
<li>var fun = new Function(形式参数列表,方法体);</li>
<li></li>
</ul>
<pre><code>function 方法名称(形式参数列表){
                方法体
                             }
</code></pre>
<ul>
<li></li>
</ul>
<pre><code>var 方法名 = function(形式参数列表){
                     
               方法体
                     
                                  }
</code></pre>
<ul>
<li>属性:
<ul>
<li>length:代表形参的个数</li>
</ul>
</li>
<li>特点:
<ol>
<li>方法定义是,形参的类型不用写,返回值类型也不写;</li>
<li>方法是一个对象,如果定义名称相同的方法,会覆盖;</li>
<li>在JS中,方法的调用只与方法的名称有关,和参数列表无关;</li>
<li>在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数。</li>
</ol>
</li>
<li>调用:
<ul>
<li>方法名称(实际参数列表);</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Array:数组对象
<ul>
<li>创建:
<ul>
<li>var arr = new Array(元素列表);</li>
<li>var arr = [元素列表];</li>
</ul>
</li>
<li>方法:
<ul>
<li>join(参数):将数组中的元素按照指定的分隔符拼接为字符串;</li>
<li>push()        向数组的末尾添加一个或更多元素,并返回新的长度。</li>
</ul>
</li>
<li>属性:
<ul>
<li>length:数组的长度</li>
</ul>
</li>
<li>特点:
<ul>
<li>JS中,数组元素的类型可变的;</li>
<li>JS中,数组长度可变的。</li>
</ul>
</li>
</ul>
</li>
<li>Boolean</li>
<li>Date
<ul>
<li>创建:
<ul>
<li>var date = new Date();</li>
</ul>
</li>
<li>方法:
<ul>
<li>toLocaleString():返回当前date对象对应的时间本地字符串格式;</li>
<li>getTime():获取毫秒值。返回当前如期对象描述的时间到1970年1月1日零点的毫秒值差。</li>
</ul>
</li>
</ul>
</li>
<li>Math:数学对象
<ul>
<li>创建:
<ul>
<li>特点: Math对象不用创建,直接使用。Math.方法名();</li>
</ul>
</li>
<li>方法:
<ul>
<li>random():返回 0 ~ 1 之间的随机数。 含0不含1;</li>
<li>ceil(x):对数进行上舍入;</li>
<li>floor(x):对数进行下舍入;</li>
<li>round(x):把数四舍五入为最接近的整数。</li>
</ul>
</li>
</ul>
</li>
<li>Global
<ul>
<li>特点:
<ul>
<li>全局对象,这个Global中封装的方法不需要对象就可以直接调用。方法名();</li>
</ul>
</li>
<li>方法:
<ul>
<li>encodeURI():url编码;</li>
<li>decodeURI():url解码;</li>
<li>encodeURIComponent():url编码,编码的字符更多;</li>
<li>decodeURIComponent():url解码;</li>
<li>parseInt():将字符串转为数字;
<ul>
<li>逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number</li>
</ul>
</li>
<li>isNaN():判断一个值是否是NaN
<ul>
<li>NaN六亲不认,连自己都不认。NaN参与的==比较全部问false</li>
</ul>
</li>
<li>eval():将JavaScript 字符串作为脚本代码来执行;</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="gitee地址">Gitee地址</h3>
<p>https://gitee.com/zhuayng/FontEndBasis/blob/develop/JavaScriptBasis/javascript_simple_demo.html。</p>


</div>
<div id="MySignature" role="contentinfo">
    XFS<br><br>
来源:https://www.cnblogs.com/xiaofengshan/p/12614637.html
頁: [1]
查看完整版本: JavaScript基础