検索
ホームページウェブフロントエンドjsチュートリアルjs オブジェクトと arrays_javascript スキルに関する隠れたトーク

コードをコピー コードは次のとおりです:

/*
配列とオブジェクト [JavaScript の決定版ガイド、第 5 版]
*/

/*
オブジェクト: 順序付けされていない属性のセットです。属性 それぞれに独自の名前と値があります*/

/* オブジェクトを作成する簡単な方法、オブジェクトの直接数量*/
var obj = {}
var obj = {name: 'maxthon; '};
var obj = {name: {}, text: []};

/* 新しい演算子を使用できます*/
var a = new Array(); var d = new Date();
var r = new RegExp('javascript', 'i');
var o = new Object(); // var o = {};注: new 演算子の後にはコンストラクターが続くため、
typeof Array; // 'function'
Function のインスタンスです。
*/
/* オブジェクト属性*/
// 注: [] は、属性の値にアクセスするために使用します。
var t = {};
t.text = 'hello';
t.o = は同時に使用され、属性は Name 内で使用されます。 {};
t.o.name = 'rd';
t.n = [];
"テキスト": "こんにちは"
}; .log(t.text); // 'hello' ;
// 補足: 通常、キーワード var は変数の宣言に使用されますが、オブジェクトのプロパティを宣言する場合、var を使用して

/* オブジェクト列挙*/

var F = function () {};
F.prototype.name = 'RD';
var obj = new F; var key in obj) {
console.log(key) // name
}

// プロトタイプチェーンに沿って検索しないでください。 (obj の var key) {
if (obj.hasOwnProperty(key )) {
console.log(key) //
}
}
/* 注: for in はできません。事前定義されたプロパティを列挙します。 */


/* 属性の存在を確認します*/

window.a = 'rd';
console.log(a in window); // true;

var F = function () {};
F.prototype.name = 'RD';
var obj = new F; ' in obj); // true;


var toString = Object.prototype.toString;

// オブジェクト obj に getName メソッドが含まれている場合は、それを実行します。 if (obj.getName && toString.call(obj.getName ) === '[オブジェクト関数]') ) {
obj.getName();
}

// 補足:
console.log(null == 未定義); // true;
console.log(null !== 未定義) //


/* 属性を削除します。 🎜>delete obj.name;
// 補足: delete 演算子を使用すると、var で宣言された変数は削除できません。


/* 連想配列としてのオブジェクト*/

// オブジェクトの属性を取得します:
obj.name ;
obj['name']; // ここで name は文字列です。 [] を使用して表現すると、属性名は次のようになります。
// 操作中に操作を追加します。
// 注: このプロパティは、
// 連想配列
/* マッピング: JavaScript オブジェクト ハンドル文字列 (属性名) が値にマッピングされます。 */
for (var key in obj) {
console.log(key);
}



/*
共通のオブジェクトのプロパティとメソッド

JavaScript のすべてのオブジェクトは Object クラスから継承されます。 🎜>
1、コンストラクター属性。
*/
var F = function () {};
var f = new F; (f.constructor == F); // true

// コンストラクターのプロトタイプには、それ自体を指す属性コンストラクターがあります。 >// 補足:
var F = function () {};
G.prototype = new F;

var g = new G ;
console.log(g.constructor == F); // true;
console.log(g.constructor == G); // g インスタンスを使用できます。 ;


/*
2, toString() メソッド
*/
{'name': 'maxthon'}.toString(); // '[オブジェクト オブジェクト] '

/* 配列は toString メソッドを使用し、要素を文字列に結合すると、他のオブジェクトは [object Object] に変換されます。
関数は元の toString メソッドを使用し、関数のソース コードは次のようになります。取得*/
['a', 'b', 1, false, [' e','f'], {}].toString()// "a,b,1, false,e,f,[object オブジェクト]"

function t() {
console.log('test');
}
t.toString();
// ソース コード

/*
3, toLocalString();
オブジェクトのローカライズされた文字列を返します
4、valueOf()は、 valueOf/toString;
6, propertyIsEnumberable();
7,
a.isPrototyeOf( b);
a が b のプロトタイプの場合、true を返します。
* /
var o = {}; true;
Object.isPrototyeOf(o); // false;
関数.isPrototyeOf(Object); >
/* [関数インスタンスが存在する場合、クロージャが存在します。ガベージがリサイクルされない場合、代入参照が存在します。] */



/*
配列: 順序付けされたコレクション。値;

各値は、要素とも呼ばれ、添字に対応します。
添字は 0 から始まります。
配列内の値は、任意の型にすることができます。
*/

// 作成します。
var arr = [];

var t = ''; 🎜>var arr = [1,2,3、null、未定義、[]、{}, t];

/* new 演算子を使用して配列を作成する 3 つのケース: */
var arr = new Array() // []、直接量
var arr = new Array(5); // 長さは 5 です。
console.log(arr); // [] は未定義です。 >
var arr = new Array('5'); // 値は ['5'];
var arr = new Array('test'); ;

/* 関連例*/
var s = [1, 2, 3] = 'a'; 🎜>[ 1, 2, 3, 未定義, 未定義, 'a']



/* 配列の読み取りと書き込み*/

value = array[0] ;
a[1] = 3.14;
a[i] = 3; // 配列 -> 属性
array.test = 'rd';

// 配列の添字は 2 未満の整数です。
/ / 他の値の場合、JavaScript は文字列に変換され、添え字ではなくオブジェクト属性の名前として使用されます。 [];
array[9] = 10; // 配列の長さは 10 になります。
// 注: JavaScript インタープリターは、配列インデックス 9 の要素にのみメモリを割り当て、他のインデックスは割り当てません。

var array = [];
array.length = 10;
array[array.length] = 4; /* 配列要素を削除します*/
// 削除演算子 配列要素は未定義の値に設定されていますが、要素自体はまだ存在しています。
// 実際に削除するには、次のコマンドを使用します。 Array.shift(); [最初のものを削除] Array.pop(); [最後のものを削除] Array .splice(); [配列から連続した範囲を削除] または Array.length の長さを変更します。例*/
var a = [1, 2, 3];
delete a[1]
console.log(a); // [1, 未定義, 3]; 🎜>/* 補足: JavaScript 決定版ガイド、第 5 版、59 ページ
by var 宣言された変数は永続的です。つまり、これらの変数を削除するために delete 演算子を使用すると、エラーが発生します。 : 開発者ツールでは、Web ページでは、
*/


/* 配列の長さ*/
[] で説明されているように削除できます。 length;


/* 配列を走査*/
var array = [1, 2, 3, 4, 5];
for (var i = 0, l = array.長さ; i
console.log(array[i]);

array.forEach(関数 (項目, インデックス, arr) .log(item);
});

/* 配列: 前述のように正しい長さ*/

/* 多次元配列*/
[[ 1], [2]]

/* 配列メソッド*/
// join
var array = [1, 2, 3, 4, 5];
var str = array .join(); // 1,2,3,4,5
var str = array.join('-'); // 1-2-3-4-5
// 注:メソッドは String.split() メソッドの反対です。

// reverse() ;
var array = [1, 2, 3, 4, 5]; ; // [5, 4, 3, 2, 1]
// 注: 元の配列

// sort(); var array = [1, 3, 2, 4, 5, 3];
array.sort();// [1, 2, 3, 3, 4, 5]; 注: 配列内に未定義の要素があります。これらの要素を入れてください。最後に*/

/* 並べ替えをカスタマイズすることもできます。sort(func);
func は 2 つのパラメーターを受け取ります。最初のパラメーターが 2 番目のパラメーターの前にある必要がある場合、比較関数が返されます。 0 より小さい数値。逆に、0 より大きい数値を返します。等しい場合は、0 を返します。
* /
array.sort(function (a, b) {
return b - a;
});

// 例: 奇数から偶数へ、小さいものから大きいものへ並べ替えます
[1, 2, 3, 4, 5, 6, 7, 2, 4 , 5, 1].sort(function (a, b) {
if (a % 2 && b % 2) {
return a - b;
}

if (a % 2) {
return -1;
}

if (b % 2) {
return
}

return a - b; 🎜>
});


// concat() メソッド。深さは結合しません。Merge
var a = [1, 2, 3]; concat(4, 5); // [1, 2, 3, 4, 5]
a.concat([4, 5]) // [1, 2, 3, 4, 5]
; a.concat([4, 5], [8, 9]); // [1, 2, 3, 4, 5, 8, 9]
a.concat([4, 5], [6, [10, 19]]); // [1, 2, 3, 4, 5, 6, [10, 19] ]


// ソース配列はスライス() メソッドを使用しません。
var a = [1, 2, 3, 4, 5];
a.slice(0, 3) // [1, 2, 3]
a.slice(3); ; // [4, 5];
a.slice(1, -1); // [2, 3, 4]
a.slice(1, -1 5)
a.slice (1, 4);
a.slice(-3, -2); // [3]
a.slice(-3 5, -2 5); 3);
/* 注:
には、2 番目のパラメーターで指定された要素は含まれません。
負の値は、負の値の配列の長さ
*/

に変換されます。 // splice(pos[, len[, a, b]]) メソッド。指定した位置を削除した後、長さの要素を追加します。
// 削除された要素で構成される配列を返します。配列が変更されます。
var a = [1, 2, 3, 4, 5, 6, 7, 8]; // [ 5, 6, 7, 8];このとき a: [1, 2, 3, 4]
a.splice(1, 2); // このとき a: [1, 4 ]; splice(1, 1); // この時点では、

var a = [1, 2, 3, 4, 5]; 2, 0, 'a', 'b'); // [1, 2, 'a', 'b', 3, 4, 5]
a.splice(2, 2 , [1, 2] , 3); // ['a', 'b'] このとき a: [1, 2, [1, 2], 3, 3, 4, 5]
/* 注:
2 番目のパラメーター以降のパラメーターは、処理配列に直接挿入されます。
最初のパラメータは負の数にすることができます。
*/


// Push() メソッドと Pop() メソッドは 1 つまたは 2 つを変換できます。 more は配列の末尾に新しい要素を追加し、配列の新しい長さを返します。
// Pop() は配列の最後の要素を削除し、配列の長さを減らし、その値を返します。
// 注: 2 つの各メソッドは、配列の変更されたコピーを生成するのではなく、元の配列を変更します。 // スタック: [1, 2 ];
stack.pop(); // 削除された要素の値
stack.push(3); [1, 3]; return 2;
stack.pop(); // スタック: [1]; 削除された要素の値
stack.push([4, 5]); [1, [4, 5]]returnm 2;
stack.pop(); // スタック: [4, 5]; // unshift()


// toString() メソッドと toLocalString()
[1, 2, 4].toString (); // 1,2,3 ;
['a', 'b', 'c'].toString(); // 'a,b,c';パラメータなしの join メソッド。


/* 新しい jsapi メソッド:map、every、some、filter、forEach、indexOf、lastIndexOf、isArray */


/* Array- like object*/

arguments
document.getElementsByTagName();
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
使用PHP的json_encode()函数将数组或对象转换为JSON字符串使用PHP的json_encode()函数将数组或对象转换为JSON字符串Nov 03, 2023 pm 03:30 PM

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,已经成为Web应用程序之间数据交换的常用格式。PHP的json_encode()函数可以将数组或对象转换为JSON字符串。本文将介绍如何使用PHP的json_encode()函数,包括语法、参数、返回值以及具体的示例。语法json_encode()函数的语法如下:st

源码探秘:Python 中对象是如何被调用的?源码探秘:Python 中对象是如何被调用的?May 11, 2023 am 11:46 AM

楔子我们知道对象被创建,主要有两种方式,一种是通过Python/CAPI,另一种是通过调用类型对象。对于内置类型的实例对象而言,这两种方式都是支持的,比如列表,我们即可以通过[]创建,也可以通过list(),前者是Python/CAPI,后者是调用类型对象。但对于自定义类的实例对象而言,我们只能通过调用类型对象的方式来创建。而一个对象如果可以被调用,那么这个对象就是callable,否则就不是callable。而决定一个对象是不是callable,就取决于其对应的类型对象中是否定义了某个方法。如

使用Python的__contains__()函数定义对象的包含操作使用Python的__contains__()函数定义对象的包含操作Aug 22, 2023 pm 04:23 PM

使用Python的__contains__()函数定义对象的包含操作Python是一种简洁而强大的编程语言,提供了许多强大的功能来处理各种类型的数据。其中之一是通过定义__contains__()函数来实现对象的包含操作。本文将介绍如何使用__contains__()函数来定义对象的包含操作,并且给出一些示例代码。__contains__()函数是Pytho

使用Python的__le__()函数定义两个对象的小于等于比较使用Python的__le__()函数定义两个对象的小于等于比较Aug 21, 2023 pm 09:29 PM

标题:使用Python的__le__()函数定义两个对象的小于等于比较在Python中,我们可以通过使用特殊方法来定义对象之间的比较操作。其中之一就是__le__()函数,它用于定义小于等于比较。__le__()函数是Python中的一个魔法方法,并且是一种用于实现“小于等于”操作的特殊函数。当我们使用小于等于运算符(<=)比较两个对象时,Python

详解Javascript对象的5种循环遍历方法详解Javascript对象的5种循环遍历方法Aug 04, 2022 pm 05:28 PM

Javascript对象如何循环遍历?下面本篇文章给大家详细介绍5种JS对象遍历方法,并浅显对比一下这5种方法,希望对大家有所帮助!

Python中如何使用getattr()函数获取对象的属性值Python中如何使用getattr()函数获取对象的属性值Aug 22, 2023 pm 03:00 PM

Python中如何使用getattr()函数获取对象的属性值在Python编程中,我们经常会遇到需要获取对象属性值的情况。Python提供了一个内置函数getattr()来帮助我们实现这个目标。getattr()函数允许我们通过传递对象和属性名称作为参数来获取该对象的属性值。本文将详细介绍getattr()函数的用法,并提供实际的代码示例,以便更好地理解。g

使用Python的isinstance()函数判断对象是否属于某个类使用Python的isinstance()函数判断对象是否属于某个类Aug 22, 2023 am 11:52 AM

使用Python的isinstance()函数判断对象是否属于某个类在Python中,我们经常需要判断一个对象是否属于某个特定的类。为了方便地进行类别判断,Python提供了一个内置函数isinstance()。本文将介绍isinstance()函数的用法,并提供代码示例。isinstance()函数可以判断一个对象是否属于指定的类或类的派生类。它的语法如下

PHP代码封装技巧:如何使用类和对象封装可重复使用的代码块PHP代码封装技巧:如何使用类和对象封装可重复使用的代码块Jul 29, 2023 pm 11:19 PM

PHP代码封装技巧:如何使用类和对象封装可重复使用的代码块摘要:在开发中,经常遇到需要重复使用的代码块。为了提高代码的可维护性和可重用性,我们可以使用类和对象的封装技巧来对这些代码块进行封装。本文将介绍如何使用类和对象封装可重复使用的代码块,并提供几个具体的代码示例。使用类和对象的封装优势使用类和对象的封装有以下几个优势:1.1提高代码的可维护性通过将重复

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター