ホームページ  >  記事  >  ウェブフロントエンド  >  シンプルでわかりやすい、JavaScript独学学習ノート

シンプルでわかりやすい、JavaScript独学学習ノート

亚连
亚连オリジナル
2018-05-18 09:52:311809ブラウズ

以下は私がまとめた JavaScript の自習学習ノートです。興味のある方はぜひご覧ください。

第 1 章
1. JavaScript の概要
JavaScript は、主にクライアント側で使用されるオブジェクト駆動型およびイベント駆動型のスクリプト言語です。
特徴:
1. インタラクティブ性 (できることは情報の動的な対話だけです)
2. セキュリティ (ローカルハードドライブへの直接アクセスは許可しません)
3. クロスプラットフォーム (ブラウザである限り) Js) 実行、プラットフォームに依存しない) を解釈できます。
2. JavaScript と Java の違い
1. JS は Netscape 社の製品で、以前は LiveScript でしたが、Java は Sun 社の製品で、現在は Oracle 社の製品です。
2.JS はオブジェクトとイベントに基づく言語、Java はオブジェクト指向言語です
3.JS は弱い型付けの言語、Java は強く型付けされた言語です
4.JS はコンパイルなしで直接実行できますが、Java はコンパイルなしで実行できます。クラス バイトコード ファイルにコンパイルされた後にのみ実行できます
JavaScript と JScript
前者は Netscape からのものであり、後者は Microsoft からのものです
現在市販されているブラウザーには、 JavaScript の最適なサポート
仕様を統一するために、2 つの標準を統合するための ECMA 仕様がリリースされました。
JavaScript コードを 3f1c4e4b6b16bbbd69b2ee476dc4f83a にカプセル化します。
2. JavaScript コードを js ファイルにカプセル化し、3f1c4e4b6b16bbbd69b2ee476dc4f83a の src 属性を通じてインポートします。
3f1c4e4b6b16bbbd69b2ee476dc4f83a タグで src 属性が指定されている場合、3f1c4e4b6b16bbbd69b2ee476dc4f83a タグでカプセル化されたコードは実行されないことに注意してください:

<script type="text/javascript" src="test.js">alert("你好");</script>

alert("Hello"); コードは実行されません。したがって、js ファイルのインポートは通常、別の <script> を使用して行われます。たとえば、次のコードは問題ありません: <p style="text-align: left;"><pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot; src=&quot;test.js&quot;&gt;&lt;/script&gt; &lt;script type=&quot;text/javascript&quot;&gt;alert(&quot;你好&quot;);&lt;/script&gt;</pre> 5. 文法の普遍的な表現 <p style="text-align: left;"> 一般的な高級言語に含まれる文法内容: <br/> 1. キーワード: この言語で特別な意味を与えられる単語。 <br/>2. 識別子: データや式を識別するために使用される記号。通常、変数名や関数名など、プログラム内でカスタマイズされた名前として理解できます。 <br/> Java と同じです。(大文字と小文字の 26 文字の英字) + (10 個の数字) + ($) + (_)<br/>3 注: 注はインタープリタについて説明しており、プログラムのデバッグに使用されます。 <br/> 2 種類のコメントをサポートします: 単一行 // および複数行コメント /*コメント内容*/<br/>4. 変数と定数: メモリ内のスペースを識別するために使用され、このスペース内のデータは変更される可能性があります。 。 <br/> 変数はいつ使用するのですか?データが不確実な場合は変数を使用します。 <br/>変数の定義方法: var 変数名 = 変数値; <br/>注意事項: <br/>> js は弱い型付け言語であり、変数は宣言なしで直接使用できます <br/>> js には文字型はありません" は両方を表します。 文字列の場合、一重引用符は二重引用符の中にネストでき、二重引用符は一重引用符の中にネストすることもできます <br/> 5. 演算子: データの操作を可能にするシンボル。 <br/>1> 算術演算子: + - * / % ++ --<br/>注: 除算を計算する場合、結果に小数が含まれる場合、js はそれを保持します。これは、たとえば Java とは少し異なります。 , <br/>> var a = 2321;<br/>alert("a:"+a/1000*1000);<br/> 出力された結果は 2321 ですが、JS は弱い型であり、強い型がないため、Java では 2 になります。 2321/1000 以降の小数を整数に変換します<br/> > var a1=2.3,b1=4.7;<br/> alter("a1+b1="+(a1+b1));//結果は 7.0 ではなく 7 です。弱く型指定されています<br/>>alert("12" -1);//結果は 11、12 が最初に整数に変換されます<br/>>alert("12"+1);//次の場合、結果は 121記号を追加すると、文字列が連結されます<br/>>alert(true +1);//js では false が 0 または null であるため、結果は 2 になります。 0 以外、null 以外は true を意味し、デフォルトでは 1 で表されます。 <br/>>alert(2%5);//結果は 2、6%1、結果は 1、10%5、結果は 0<br/>2>代入演算子: =、+=、-=、*= 、 /= 、 %=<br/>3> 比較演算子 (演算の結果は false または true): >、f539a70d3ea090bac4faa80192f58ccc=、643a48e7ab2873c1687a012d7f275898 , ||,!<br/>var t = 4;<br/>alert(!t); //false、t=4、4 は 0 ではないため、0 は false を表し、0 以外は true を意味するため、!t は false<br/> 5> ビット演算記号: &、|、^、>>、<f539a70d3ea090bac4faa80192f58ccc>><br/>6> 実際には、if...else ステートメントの略です。 Java の三項演算子 結果が存在する必要がありますが、js では結果が存在しません。例: a>b? 1 : 0<br/>6 .Statement: プログラムの実行プロセスを制御するために使用される式。 <br/>1>.逐次構造<br/>コードを上から下へ実行する場合、これを逐次構造といいます<br/>2>.判定構造<br/>代表文:if<br/>詳細:<br/><pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; var x = 3; if(x=4){ alert(&quot;yes&quot;); }else{ alert(&quot;no&quot;); } &lt;/script&gt;</pre><p style="text-align: left;">打印结果:yes,因为x=4是赋值,将4赋值给x后,x=4了,4是非0,0代表假,非零代表真,所以为true,打印“yes”<br/>3>.选择结构switch(x),这个x在java里面只能是byte,short,int,char或枚举类型,而在javascript中,任何类型都可以,<br/>因为它是弱类型switch的执行顺序是先执行case,再执行default,而且按照从上到下的顺序执行//演示:<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; var x = &quot;abcaaa&quot;; switch(x){ default: alert(&quot;默认值&quot;); case &quot;ddd&quot;: alert(&quot;我是ddd&quot;); break; case &quot;abc&quot;: alert(&quot;我是abc&quot;); break; } &lt;/script&gt;</pre><p style="text-align: left;">//打印结果:"默认值"、"我是ddd",因为default下没有break,所以它会一直执行到break为止,但是如果default选项放在了<br/>//最后一个,而且没有break的话,这条语句的执行结果就只有"默认值"<br/>4>.循环结构:while、for,用法跟java是一样的<br/>演示:用while循环向浏览器中打印1到10的值,每打印一次换行<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; var x = 0; while(x&lt;10){ document.write(&quot;x=&quot;+x+&quot;&lt;br/&gt;&quot;); x++; } &lt;/script&gt;</pre><p style="text-align: left;">演示:跳出循环,打印依次x==0,如果将break w换成continue w的话,那就会打印x==0x==1x==2了<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; w:for(var x=0; x&lt;3; x++){ for(var y=0; y&lt;4; y++){ document.write(&quot;x==&quot;+x); break w; } } &lt;/script&gt;</pre><p style="text-align: left;">5>.其他语句<br/>7.函 数:用于对功能的代码进行封装,便于提高复用性。<br/>1.概念:函数就是一个功能的封装体<br/>2.定义功能通常需要两个明确:<br/>1>.功能的结果<br/>2>.功能实现中的参与运算的未知的内容<br/>3.函数细节问题:<br/>1>.javascript中只要使用函数的名称就是对函数的调用,它不存在重载形式:举例如下<br/>show();//直接这么调用的话将打印:undefined:undefined,一般不建议这么调用,建议有几个参数就传几个参数<br/>show(4,5,6);//将打印4:5,这里的6看似丢了,其实没丢,被一个arguments数组存储起来了<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; function show(x,y){ alert(x+&quot;:&quot;+y); } &lt;/script&gt;</pre><p style="text-align: left;">2>.每个函数中有一个数组在对传入的参数进行存储。这个数组就是arguments<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; show(4,5,6); function show(x,y){ alert(arguments.length);//打印3,也就是传入的参数的个数:4,5,6 } &lt;/script&gt;</pre><p style="text-align: left;">3>.返回值:<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; function getSum(){return 100;} var sum01 = getSum();//getSum函数运行,并将返回的100赋给sum01 var sum02 = getSum;//getSum本身是一个函数名,而函数本身在js中就是一个对象,getSum就是这个函数 //对象的引用,将getSum这个引用的地址赋给sum02,这时sum02也指向了这个函数对象。 //相当于这个函数对象有两个名称 alert(sum02);//该打印会将函数的字符串表现形式打印出来,就是该函数的代码定义格式,也就是如下代码: /*function getSum(){ return 100; }*/ &lt;/script&gt;</pre><p style="text-align: left;">4.JS函数的其他表现形式:<br/>1>动态函数:<br/> >特点:函数的参数和函数体都是可以通过动态指定的<br/> >使用的是js中内置的一个Function对象,但是用的不多,示例如下<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; var add = new Function(&quot;x,y&quot;,&quot;var sum = x+y; return sum;&quot;); var result = add(4,13); alert(result);//打印结果是17 &lt;/script&gt;</pre><p style="text-align: left;">2>匿名函数:没有名字的函数<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; function hello(){ alert(&quot;你好&quot;); } var result = hello; &lt;/script&gt;</pre><p style="text-align: left;"> //上面的写法改成匿名函数的话可以这么写:<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; var result = function(){alert(&quot;你好&quot;);} &lt;/script&gt;</pre><p style="text-align: left;">8.数 组:对多数据进行存储,便于操作,也就是容器。<br/>1.js中提供了定义数组的两种方式:1.var arr = []; 2.var arr = [2,23,14,48];<br/>2.javascript中数组的特点:<br/>1>.长度是可变的<br/>2>.元素的类型是任意的,什么类型都可以往一个数组里装,但建议装同类型的,这样操作起来更方便<br/>3.使用javascript中的Array对象来完成定义<br/>1>.var arr = new Array();//这个写法相当于var arr = [];<br/>2>.var arr1 = new Array(5);//定义数组,长度是5<br/>9.对 象:只要是基于对象的语言,或者是面向对象的语言,就存在着对象的概念,<br/> 对象就是一个封装提。既可以封装数据又可以封装函数。<br/>以上都是高级程序设计语言具备的共性内容,只不过各种语言对这些内容的表现形式不一样,但是基本思想是一致的<br/>六、Javascript细节问题<br/>1.undefined:未定义。其实它就是一个常量<br/>举例:var x;<br/> alert(x);//这时候就会弹出undefined,因为x没有赋值就直接用,所以就会报这个异常了<br/>2.想要获取具体的值的类型,可以通过typeof来完成,typeof返回的类型都是字符串的。<br/>举例:<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; alert(typeof(&quot;abc&quot;)); //&quot;string&quot; alert(typeof(2.5));//&quot;number&quot; alert(typeof(true));//&quot;boolean&quot; alert(typeof(78));//&quot;number&quot; alert(typeof(&amp;#39;9&amp;#39;));//&quot;string&quot; &lt;/script&gt;</pre><p style="text-align: left;">要判断某个类型,可以按照以下方法:<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; alert(typeof(&quot;abc&quot;)==&amp;#39;string&amp;#39;); //true alert(typeof(2.5)==&amp;#39;number&amp;#39;);//true alert(typeof(true)==&amp;#39;boolean&amp;#39;);//true alert(typeof(78)==&amp;#39;number&amp;#39;);//true alert(typeof(&amp;#39;9&amp;#39;)==&amp;#39;string&amp;#39;);//true &lt;/script&gt;</pre><p style="text-align: left;">========================================常见Javascript算法总结===========================================<pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; //定义测试数组 var arr = [10,43,3,7,52,8,34]; //查找数组中最小的元素并输出到浏览器 function getMinValue(arr){ var min = 0; for(var i=1; i&lt;arr.length; i++){ if(arr[i]&lt;arr[min]){ min = i; } } return arr[min]; } //对数组中的元素从小到大排序并输出到浏览器 function arrSort(arr){ for(var x=0; x&lt;arr.length; x++){ var index = x; var temp = arr[x]; for(var y=x+1; y&lt;arr.length; y++){ if(arr[y]&lt;temp){ temp = arr[y]; index = y; } } swapArray(arr,x,index); } } //对一个数组中的两个元素交换位置 function swapArray(arr,a,b){ var temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } //对一个数组中的数据进行反转 function reverseArray(arr){ for(var start=0,end=arr.length-1; start&lt;end; start++,end--){ swapArray(arr,start,end); } } //打印数组 function println(arr){ document.write(arr+&quot;&lt;br/&gt;&quot;); } &lt;/script&gt;</pre><p style="text-align: left;">第二章<br/> 一、全局和局部变量 <br/><pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; //1.在脚本片段中定义的变量,是全局变量,全局变量在整个页面都能访问 for(var x=0; x&lt;3; x++){ document.write(&quot;x=&quot;+x); } document.write(&quot;x=&quot;+x);//打印3,这里是能访问到上面的x的,因为上面的x虽然定义在for循环里,但是它却是一个全局变量 //2.在函数内部定义的变量是局部变量 var x = 3;//全局变量 function show(x){ x = 6;//局部变量 } show(x); document.write(&quot;x=&quot;+x);//这个打印结果是3,x=3传到show(x)里面去,x=6,但是由于 //是局部变量,外部是访问不到的 //所以document.write(&quot;x=&quot;+x)访问的全局的x=3; &lt;/script&gt;</pre><p style="text-align: left;"> 二、常见对象 <br/> 1.Object <br/> 常见方法: <br/> > toLocaleString :根据所在地返回一个对应风格的日期字符串格式,调用这个方法的对象一般都是一个日期对象 <br/> 比如:var dt = new Date(); alert(dt.toLocaleString()); <br/> > toString : 将当前对象(谁调用toString方法谁就是当前对象)转化为字符串,对于不同类型的对象,返回的字符串格式是不一样的,具体格式 <br/> 需要参见JScript API(由于网景公司没有给Javascript提供相应的API,所以只能用微软的Jscript的API了,两者大部分东西都是一样的) <br/> > valueOf : 返回指定对象的原始值,具体返回格式参见API <br/> 2.String <br/> 常见方法:方法很多,查阅API可以获得详细的信息 <br/> 重要属性: <br/> > prototype : 返回对象类型原型的引用,这个解释看着有点别扭,简单点说,举例如下: <br/> 我要给字符串添加一个去除两端空格的方法,原来我们是这么做的 <br/> 1>.定义一个方法trim(str): <br/><pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; function trim(str){ var start=0; var end=str.length-1; while(start&lt;=end &amp;&amp; str.charAt(start)==&amp;#39; &amp;#39;){ start++; } while(start&lt;=end &amp;&amp; str.charAt(end)==&amp;#39; &amp;#39;){ end--; } return str.substring(start,end+1); } &lt;/script&gt;</pre><p style="text-align: left;"> 2>.调用这个方法: <pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; var str = &quot; abc d asdf &quot;; alert(trim(str));//打印abc d asdf,结果是去除两端空格后的结果 &lt;/script&gt;</pre><p style="text-align: left;"> 3>.分析:这么写,我们觉得还是不够方便,我想弄成str.trim()就直接去掉空格行不行呢?就像是str.toString()方法一样方便, <br/> 参数都不用传,就直接给我去掉空格了,多爽啊, <br/> 这时候,我们就需要用到prototype这个属性了,因为toString()方法是String类的原型中的,也就是人家封装好了的, <br/> 现在我只要往它原来的类中添加一个trim(str)方法,那么所有的字符串就可以直接调用这个方法了,怎么做呢?如下: <br/><pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; String.prototype.mytrim = trim; //这个mytrim是我在String类中加进去了一个mytrim的方法,trim是上面我定义的 //trim(str)的函数,其实也可以写成下面这种,匿名函数,但是要注意,原来的参数str //需要改成this了,this代表当前对象,谁调用该方法,谁就代表了this String.prototype.mytrim = function(){ var start=0; var end=this.length-1; while(start&lt;=end &amp;&amp; this.charAt(start)==&amp;#39; &amp;#39;){ start++; } while(start&lt;=end &amp;&amp; this.charAt(end)==&amp;#39; &amp;#39;){ end--; } return this.substring(start,end+1); } //调用我的mytrim方法 var str = &quot; abc d asdf &quot;; alert(str.mytrim());//打印abc d asdf,结果是去除两端空格后的结果 &lt;/script&gt;</pre><p style="text-align: left;"> 3.Array <br/> 常见方法: <br/> > concat(一个或多个元素用逗号分开):将一个数组或字符串加到另外一个数组中去,并返回新的数组,如果被添加的是一个数组, <br/> 该方法会将这个数组中的元素一个一个添加到调用concat的数组中去。 <br/> 举例:var arr1 = ["哈哈","吼吼"]; <br/> var arr2 = ["heihei",23]; <br/> var arr3 = arr1.concat("我是数组",arr2); <br/> alert(arr3);//打印结果:哈哈,吼吼,我是数组,heihei,23 <br/> <br/> > join(separator):这个方法其实就是将数组拼接成字符串,而且接收一个参数,用于分割每个数组元素 <br/> var arr = [&#39;你好&#39;,&#39;中国&#39;,&#39;我爱你&#39;]; <br/> var arr1 = arr.join("-"); //arr1的结果为:你好-中国-我爱你 <br/> > pop():移除数组中最后一个元素并返回该元素,类似java中LinkedList中的removeLast方法 <br/> <br/> > push(arr):将一个元素添加到一个数组中去,并返回新书组的长度,该方法跟concat功能差不多,但是有两个小区别, <br/> 一个是push在添加元素的时候,如果被添加的元素是一个数组,它会将整个数组作为一个元素添加到调用push方法的 <br/> 数组中去,而concat是将被添加的数组中的所有元素一个一个单独作为一个元素添加到调用者数组里去,第二个小区别是 <br/> 返回值,concat是返回新数组,而push返回的是新数组的长度 <br/> <br/> > reverse():反转方法,返回调用者元素顺序被反转后的数组,也就是元素头尾对调 <br/> <br/> > shift():移除数组中第一个元素并返回该元素,相当于java中的removeFirst,只不过这方法名取得有点怂,实际开发中,可以用 <br/> prototype属性调用到原型然后重写一个removeFirst方法,功能跟shift一样,这样用起来更爽 <br/> <br/> > unshift():将指定元素插入数组开始位置并返回新数组的长度,该方法和pop()方法可以实现先进先出的效果,类似队列(先进先出), <br/> 该方法如果跟shift()方法一起用,可以实现后进先出的效果,类似堆栈(后进先出) <br/> 需要注意的是,unshift一次添加多个元素的效果和多次添加同样的这几个元素的效果是不一样的,比如: <br/><pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; var arr = [12,44]; arr.unshift(33); arr.unshift(66); alert(arr);//打印结果是66,33,12,44 //---------------------------------如果是以下写法就不一样了--------------------------------------- var arr = [12,44]; arr.unshift(33,66); alert(arr);//打印结果是33,66,12,44 &lt;/script&gt;</pre><p style="text-align: left;"> > slice(start,end):返回一个数组的一段数据,从start开始(包含start),到end结尾(不包含end),跟String类的substring(start,end)方法类似 <br/> > splice(start, deleteCount, 一个或多个元素以逗号隔开):从一个数组中移除一个或多个元素,可以同时在移除的元素位置上添加一个或多个元素 <br/> > 注:如果还需要特定方法,可以自己扩展,获取到Array.prototype然后进行新功能的增加 <br/> 4.Date <br/> 常见方法:跟Java中的Date对象都差不多,只不过,这个js的Date对象没有后去DateFormat对象的东东,不过提供了两个格式化的方法 <br/> toLocaleString():可以转化为本地格式,带具体时间,eg:2013年8月29日 12:11:25 <br/> toLocaleDateString:也可以转化为本地格式,不过这个是不带具体时间的,eg:2013年8月29日 <br/> 对于一些常见方法基本好做,有一个需要注意的地方,就是月份和星期,对于月份,js里用0到11表示1到12月份,用0到6表示周日、周一、周二...周六 <br/> 下面对所有常见方法一一介绍和解释,也作为备忘和学习笔记: <br/> > 获取时间中具体元素的方法: <br/> var date = new Date(); <br/> 年:date.getYear() <br/> 月:date.getMonth(),获取到的值加1后等于当前月份 <br/> 日:date.getDate(),获取当前日在本月中是第几天 <br/> 星期:date.getDay(),获取星期,返回的值为0到6,表示星期日,星期一...星期六 <br/> 日期对象的毫秒值:date.getTime() <br/> > 字符串转换为日期: <br/> Date.parse(str):对于str参数是有格式要求的,转换后返回一个str日期与 1970 年 1 月 1 日午夜之间所间隔的毫秒数,如果需要转化为Date类型, <br/> 可以用new Date(time)再转依次,下面演示如何从一个字符串转换成一个本地时间打印出来: <pre class="brush:js;toolbar:false">&lt;script type&quot;text/javascript&quot;&gt; var dateStr = &quot;03-23-2013 12:32:10&quot;; var time = Date.parse(dateStr); var date = new Date(time); alert(date.toLocaleString());//打印结果:2013年3月23日 12:32:10 &lt;/script&gt;</pre><p style="text-align: left;"> > 日期转换为字符串:toLocaleString()、toLocaleDateString(); <br/> 5.小知识补充: <br/> 为了简化对象调用内容的书写,可以使用js中的特有语句with来完成。 <br/> 格式: <pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; with(对象){ //在该区域中,可以直接使用指定对象的内容,不需要写对象 } //比如原来写一个对象调用的方法: var arr = [&quot;bb&quot;,&quot;cc&quot;,&quot;aa&quot;]; arr.sort(); arr.reverse(); //每次调用数组方法的时候都要写对象名称arr. //这样比较麻烦,所以可以写成如下效果 var arr = [&quot;bb&quot;,&quot;cc&quot;,&quot;aa&quot;]; with(arr){ sort(); reverse(); } &lt;/script&gt;</pre><p style="text-align: left;"> 6.Math:该类中所有的方法都是静态的,用于计算数据用的方法基本上都在这里,方法不多也不少,只要是涉及到数据计算的 <br/> 功能的方法,都可以到该对象中来找,下面就写一个获取随机数的方法演示下Math的基本方法,以作备忘: <br/> //需求:获取1到100的随机数,由于获取到的随机数是一个浮点型的数据,所以需要转成整形的数据 <br/> //第一种写法:将获取到的随机数强转为整数类型 <br/><pre class="brush:js;toolbar:false"> var randomNum = parseInt(Math.random()*10+1);</pre><p style="text-align: left;"> //第二种写法:利用Math.floor的方法获取小于该随机后的数据的一个整数 <br/><pre class="brush:js;toolbar:false">var randomNum = Math.floor(Math.random()*10+1);</pre><p style="text-align: left;"> 7.Global:全局对象,它里面的方法可以直接调用,不需要像其他对象的方法一样需要对象名称. 来调用 <br/> > parseInt(numString,radio):将指定的数字字符串转化为指定的进制,如果字符串不是数字字符串, <br/> 用isNaN(parseInt(numString,radio))判断时为true,这个有个需要注意的是,如果numString里面的 <br/> 内容是数字开头的,比如"123abc22ddd",这时候parseInt方法会将123转换为数字对象,而且isNaN判断时为false. <br/> numString:需要转换为整数型的数字字符串 <br/> radio:进制数,也就是转换后以什么进制表示 <br/> > 如果需要将一个数字的十进制转换为其他进制,可以使用Number对象来完成,如下: <br/><pre class="brush:js;toolbar:false">var num = new Number(6);</pre><pre class="brush:js;toolbar:false"> alert(num.toString(2));//将num转换为二进制,打印结果110</pre><p style="text-align: left;"> //上面的写法可以用如下写法代替 <br/><pre class="brush:js;toolbar:false">var num = 6;</pre><pre class="brush:js;toolbar:false">alert(num.toString(2));//也是打印110,这就类似于java中的装箱了,6被自动转化为了Number类型了</pre><p style="text-align: left;"> 8.JavaScript特有方法:for in <br/> 格式: <br/><pre class="brush:js;toolbar:false"> var arr = [&quot;张三&quot;,&quot;李四&quot;,&quot;王五&quot;]; for(i in arr){ alert(arr[i]);//遍历的i是角标,依次打印张三、李四、王五 }</pre><p style="text-align: left;"> 三、JS自定义对象:定义一个Person对象,并定义两个属性name和age,并定义人的eat(something)函数 <br/><pre class="brush:js;toolbar:false">&lt;script type=&quot;text/javascript&quot;&gt; 方式一: function Person(){ } var p = new Person(); p.name = &quot;大雄&quot;; p.age = 15; p.getName = function(){ return this.name; } p.eat = function(something){ alert(this.getName()+&quot;:&quot;+this.age+&quot;岁, 喜欢吃&quot;+something); } p.eat(&quot;鸡腿&quot;);//打印:大雄:15岁, 喜欢吃鸡腿 方式二: //描述Person对象,类似构造器 function Person(name,age){ this.name = name; this.age = age; this.getName = function(){ return this.name; } this.eat = function(something){ alert(this.name+&quot;:&quot;+this.age+&quot;岁, 喜欢吃&quot;+something); } } //建立对象 var p = new Person(&quot;大雄&quot;,15); p.eat(&quot;鸡腿&quot;);//打印:大雄:15岁, 喜欢吃鸡腿 方式三: var p = { &quot;name&quot;:&quot;大雄&quot;,&quot;age&quot;:15, &quot;getName&quot;:function(){ return this.name; }, &quot;eat&quot;:function(something){ alert(this.name+&quot;:&quot;+this.age+&quot;岁, 喜欢吃&quot;+something); } } alert(p.eat(&quot;鸡腿&quot;)); &lt;/script&gt;</pre><p>上面是我整理给大家的javascript自学学习笔记,希望今后会对大家有帮助。<p>相关文章:<p style="text-align: left;"><a href="http://www.php.cn/js-tutorial-396637.html" target="_blank">在页面自动执行(加载)js的几种解决方法,详细代码解析<br/><p style="text-align: left;"><a href="http://www.php.cn/js-tutorial-396636.html" target="_blank">利用js 来判断客户端能否上网(代码附上)<br/><p style="text-align: left;"><a href="http://www.php.cn/js-tutorial-395939.html" target="_blank" title="webpack打包压缩js与css教程说明">webpack打包压缩js与css教程说明</script>

以上がシンプルでわかりやすい、JavaScript独学学習ノートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。