PHP基礎学習ノート(4)

WBOY
WBOYオリジナル
2016-08-08 09:28:23929ブラウズ

配列の概要

概念: いくつかのデータを一定の順序でまとめたもので、全体を「配列」と呼びます。配列は、順序付けられたデータのコレクションです。

定義形式:

リーリー

配列の使用: いわゆる使用とは、実際には配列の各項目の使用を指します。

値:

リーリー

課題:

arr1[0] = 10;

リーリー

//このとき、配列 arr2 は [ 22, 33.3, “444”, “abc”, true ] と等価です

配列の「視覚イメージ」(arr3 を例にします):

リーリー

配列の長さ、つまり配列内のデータの数を取得する構文は次のとおりです:

var v1 = 配列名.長さ;

特別なメモ:配列の最大添え字は、アレイマイナス1の長さです。

配列トラバーサルの通常のパターン:

var len = 配列名.長さ;

for(var i = 0; i

{

//ここでは配列の各項目の処理、各項目の書き方は次のようになります: 配列名[i]

}

配列トラバーサルの別の形式 - for in ループ ステートメント。

for( var v1 in 配列名 arr1 )

{

//これはループ本体です。これは、配列 arr1 専用の走査ループです。v1 の値は、配列の各項目を表す添字値です。

// v1 は単なる「一時変数」であり、各項目の添字を表し、0 から配列の最大の添字まで変化します。

}

「二次元」配列:

リーリー

——実際には、v4 と v5 に違いはありません。どちらも「2 次元配列」と呼ぶことができます。

「2次元」配列要素の操作:

値:

V VAR S1 = v5 [0] [1]; // 5 // v5 の最初の部分の 2 番目の項目に相当します (これはまだ配列です)。

var s2 = v5[2][3] + 100; //107

課題:

v5[0][1] = 200;

v5[2][3] = 300;

配列オブジェクトの一般的なメソッド:

メソッドとは: メソッドは実際には関数です。 ——関数が「オブジェクト」に「属する」場合、その関数はオブジェクトのメソッドと呼ばれます。

リーリー

厳密に言えば、配列もオブジェクトです - 文字列もオブジェクトです。

オブジェクトとしての

v1 にはプロパティとメソッドがあります:

属性:

方法:

特定の array.concat (他の配列) 上: 2 つの配列を新しい「長い」配列に接続します。

var s1 = v1.concat( v2 ); //このとき、s1は[2, 5, 1, 5, 5, 1, 6, 8];

のような配列になります。

️ array.join (「文字列」): すべてを「連結」指定された文字を含む配列内の項目が「長い」文字列になります。

var s2 = v1.join(“//”); //結果の s2 は文字列「2//5//1//5」です

                  

                   某数组.pop();           //将该数组的最后一项“移除”(删除),并返回该项数据,即该数组少了一项

                   var  s3 = v1.pop();           //结果v1只剩这个:[2,5,1]; s3的值是5

                   某数组.push(新数据项d1);  //将新的数据d1添加到该数组的最后位置,即数组多了一项。

                   var  s4 = v1.push( 55 );          //v1此时为:[2,5,1, 55],  s4的值为新数组的长度,即4

                   某数组.shift();                   //将该数组的第一项“移除”(删除),并返回该项数据,即该数组少了一项

                   var  s5 = v1.shift();                   //结果v1只剩这个:[5, 1,55]; s5的值是2

        

                   某数组.unshift(新数据项d1);  //将新的数据d1添加到该数组的最前位置,即数组多了一项。

                   var  v6 = v1.unshift( 66 );       //v1此时为:[66, 5, 1, 55],  s6的值为新数组的长度,即4

javascript语言是一门基于对象的语言。

字符串对象:

<span>var</span> str1 = <span>new</span> String(“abcdefgabc”);    <span>//</span><span>这是一个“字符串对象”</span>
    <span>var</span> str2 = “abcdefgabc”;                <span>//</span><span>这个字符串跟前面str1几乎没有区别</span>
<span>字符串对象的属性:
        .length——获得一个字符串的长度(也就是字符个数)
字符串对象的方法:
</span><span>1</span>.    str1.charAt( n );    ——获得字符串str1中位置为n的那个字符(字符的位置也是从0开始算起)<span>var</span> s1 = str1.charAt( <span>3</span> );        <span>//</span><span>s1的结果是:”d”</span>
<span>2</span><span>.    str1.toUpperCase();    ——获取str1全部转换为大写的结果
</span><span>var</span> s2 = str1.toUpperCase();    <span>//</span><span>s2的结果是:”ABCDEFGABC”</span>
<span>3</span><span>.    str1.toLowerCase();    ——获取str1全部转换为小写的结果
</span><span>var</span> s3 = str1.toLowerCase();    <span>//</span><span>s3的结果是:”abcdefgabc”</span>
<span>4</span><span>.    str1.replace(“字符1”, “字符2”);    ——将str1中的“字符1”替换为“字符2”
</span><span>var</span> s4 = str1.replace(“cd”, “<span>999</span>”);    <span>//</span><span>s4的结果是:”ab999efgabc”</span>
<span>5</span>.    str1.indexOf(“字符1”); ——获得“字符1”在str1中第一次出现的位置,如果没有出现,结果是-<span>1</span>
<span>var</span> s5 = str1.indexOf(“ab”);        <span>//</span><span>s5的结果是0</span>
<span>6</span>.    str1.lastIndexOf(““字符1”); ——获得“字符1”在str1中最后一次出现的位置,如果没有出现,结果是-<span>1</span>
<span>var</span> s6 = str1.lastIndexOf(“ab”);        <span>//</span><span>s6的结果是7</span>
<span>7</span><span>.    str1.substr(n, m )    ——取得str1中从位置n开始的m个字符,m可以省略,则表示从位置n一直取到字符串的最后——注意,这种“取”并不影响str1这个原始字符
</span><span>var</span> s7 = str1.substr(<span>2</span>, <span>4</span>);    <span>//</span><span>s7为:”cdef”</span>
<span>8</span><span>.    str1.substring( n, m )——取得str1中从位置n到位置m的前一个字符。
</span><span>var</span> s8 = str1.substring(<span>2</span>, <span>4</span>);    <span>//</span><span>s8为:”cd”</span>
<span>9</span><span>.    str1.split(“字符1”)    ——将str1以指定的“字符1”为分界,分割成一个数组,结果是一个数组
</span><span>var</span> s9 = str1.split(“b”);    <span>//</span><span>s9的结果是一个数组:[“a”, “cdefga”, “c”]</span>

Math对象

Math对象是一个系统内部定义的对象,我们无需去“新建一个Math对象”——跟string对象和array对象不同。即Math对象是直接使用的。

我们学习Math对象,无非是学习一些常见的数学处理函数——这里当就叫做方法了:

属性:

         Math.PI——代表圆周率这个“常数”

方法:

<span>1</span><span>.    Math.max(数值1,数值2,…..) ——求得若干个数值中的最大值。
</span><span>2</span><span>.    Math.min(数值1,数值2,…..)     ——求得若干个数值中的最小值。
</span><span>3</span><span>.    Math.abs( 数值1)     ——求得数值1的绝对值
</span><span>4</span><span>.    Math.pow( x,y)        ——求得数值x的y次方,也就是“幂运算”
</span><span>5</span><span>.    Math.sqrt( x )            ——求得x的开方
</span><span>6</span><span>.    Math.round( x )         ——求得x的四舍五入的结果值;
</span><span>7</span><span>.    Math.floor( x )            ——求得x的向下取整的结果,即找到不大于x的一个最大的整数。
a)    Math.floor( </span><span>3.1</span> ) ? <span>3</span><span>
b)    Math.floor( </span><span>3.8</span> ) ? <span>3</span><span>
c)    Math.floor( </span><span>3</span> ) ? <span>3</span><span>
d)    Math.floor( </span>-<span>3.1</span> ) ? -<span>4</span><span>
e)    Math.floor( </span>-<span>3.8</span> ) ? -<span>4</span>
<span>8</span><span>.    Math.ceil( x )             ——求得x的向上取整的结果,即找到不小于x的一个最小的整数
a)    Math.floor( </span><span>3.1</span> ) ? <span>4</span><span>
b)    Math.floor( </span><span>3.8</span> ) ? <span>4</span><span>
c)    Math.floor( </span><span>3</span> ) ? <span>3</span><span>
d)    Math.floor( </span>-<span>3.1</span> ) ? -<span>3</span><span>
e)    Math.floor( </span>-<span>3.8</span> ) ? -<span>3</span>
<span>9</span>.    Math.random()        ——获得一个0~<span>1范围中的随机“小数”,含0,但不含1


</span><span>//</span><span>获得两个整数(n1,n2)之间的随机整数的通用做法:</span>
    <span>var</span> v1 =<span> Math.random()
    v1 </span>= v1 * (n2-n1+<span>1</span><span>);
    v1 </span>= Math.floor( v1 ) + n1;    <span>//</span><span>此时v1就是结果
</span><span>//</span><span>将上述3步写出一步就是(通用公式):</span>
    <span>var</span> v1 = Math.floor( Math.random() * (n2-n1+<span>1</span>) ) + n1

以上就介绍了php基础学习笔记(4),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

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