検索
ホームページウェブフロントエンドjsチュートリアルプロトタイプ学習プロトタイプ object_prototype

環境:
プロトタイプ バージョン: '1.6.1_rc3'
Aptana Studio、ビルド: 1.2.5.023247
IE7
FF2.0.0.4
Opera 10 ベータ版

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

var Prototype = {
バージョン: '1.6.1_rc3',
// ブラウザ オブジェクトを定義します
Browser: (function(){
var ua = navigator.userAgent;
var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera ]' ;
return {
IE: !!window.attachEvent && !isOpera,
Opera: isOpera,
WebKit: ua.indexOf('AppleWebKit/') > >Gecko : ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') === -1,
MobileSafari: /Apple.*Mobile.*Safari/.test(ua)
}
})(),
//ブラウザー機能オブジェクトを定義します。
Browser features: {
XPath: !!document.evaluate,
SelectorsAPI: !!document.querySelector,
ElementExtensions: (function() {
varconstructor = window.Element || window.HTMLElement;
return !!(constructor && constructionor.prototype);
})(),
SpecificElementExtensions : ( function() {
if (typeof window.HTMLDivElement !== '未定義')
return true;
var div = document.createElement('div');
var form = document .createElement ('form');
var isSupported = false;
if (div['__proto__'] && (div['__proto__'] !== form['__proto__'])) {
isSupported = true;
}
div = form = null;
})()
},
ScriptFragment: '<script>]* > ([\S\s]*?)</script>',
JSONFilter: /^/*-secure-([sS]*)*/s*$/,
emptyFunction: 関数() { },
K: function(x) { return x }
};
if (Prototype.Browser.MobileSafari)
Prototype.Browser features.SpecificElementExtensions = false;


ブラウザ オブジェクトは、匿名関数を呼び出してすぐに実行することによって返されます。 匿名関数を実行するには、次の 3 つの方法があります。
1. (function(){return 1})() //()強制評価、関数オブジェクトを返し、関数を実行します
2. (function(){return 1}()) //関数の実行結果を返します
3. void function(){alert(1) }() //void も利用可能 強制操作の使い方
このうち、Opera が isOpera であると判断する方法は、Opera ブラウザではオブジェクトを返す window.opera を使用し、それ以外のブラウザでは未定義を返します
BrowserFeature オブジェクトは主にブラウザの一部の機能を決定します。FF は、IE ではサポートされていない機能を多数サポートします。たとえば、document.evalute メソッドは XPATH を介して HTML ドキュメントを操作できますが、IE はそれをサポートしません。
この関数の詳細な使用法は次のとおりです:


var xpathResult = document.evaluate(xpathExpression, contextNode, namespaceResolver, resultType, result);


evaluate 関数は、合計 5 つの引数を受け取ります。
xpathExpression: を含む文字列評価される xpath 式
contextNode: Xpath 式が評価されるドキュメント内のノード
namespaceResolver: xpathExpression から名前空間プレフィックスを含む文字列を取得し、その URI を含む文字列を返す関数これにより、XPath 式で使用されるプレフィックスと、ドキュメントで使用される (おそらく異なる) プレフィックス間の変換が可能になります。
resultType: 返される結果のタイプを示す数値定数。これらの定数はグローバルで使用できます。 XPathResult オブジェクトは、XPath 仕様の関連セクションで定義されています。ほとんどの目的では、XPathResult.ANY_TYPE を渡すことで問題ありません。これにより、Xpath 式の結果が最も自然な型
result:An既存の XPathResult として返されます。 null を渡すと新しい XPathResult が作成されます。
このうち、__proto__ は FF 配下のオブジェクトのプロトタイプ、つまりオブジェクトのプロトタイプを取得できます。これは、C、JAVA、および C# 言語の通常のクラスベースの継承とは異なり、JavaScript の継承メカニズムであるプロトタイプベースの継承の基礎でもあります。 RubyやPythonでよく使われるメタクラスの継承方法もあります。
ScriptFragment は、Web ページ内のスクリプトを参照する正規表現を定義します
JSONFilter: 使用法を明確にするために、プロトタイプの元の説明を引用することをお勧めします -


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

/*String#evalJSON internally calls String#unfilterJSON and automatically removes optional security comment delimiters (defined in Prototype.JSONFilter).*/

person = '/*-secure-n{" name": "Violet", "occupation": "character"}n*/'.evalJSON() person.name; //-> "Violet"

/*You should always set security comment delimiters (/*-secure-n...*/) around sensitive JSON or JavaScript data to prevent Hijacking. (See this PDF document for more details.)*/

Prototype.K is to return the first One-parameter method:
Copy code The code is as follows:

Prototype.K('hello world!'); // -> 'hello world!'
Prototype.K(1.5); // -> 1.5
Prototype.K(Prototype.K); // -> Prototype. K

Explain the static methods and instance methods in JavaScript
The static method should be extended like this:
Date.toArray=function(){}
Then the toArray method is Date Static methods cannot be called like this (new Date()).toArray(); otherwise an exception will be thrown.
To be used like this: Date.toArray()
The instance method should be extended like this:
Date.prototype. toArray2=function(){}
Then the toArray2 method is the instance method of Date. Date.toArray2() cannot be called like this;
It should be used like this: (new Date()).toArray2()
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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中的一个魔法方法,并且是一种用于实现“小于等于”操作的特殊函数。当我们使用小于等于运算符(&lt;=)比较两个对象时,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()函数可以判断一个对象是否属于指定的类或类的派生类。它的语法如下

Python中如何使用__add__()函数定义两个对象的加法运算Python中如何使用__add__()函数定义两个对象的加法运算Aug 22, 2023 am 11:12 AM

Python中如何使用__add__()函数定义两个对象的加法运算在Python中,可以通过重载运算符来为自定义的对象添加对应的运算功能。__add__()函数是用于定义两个对象的加法运算的特殊方法之一。在本文中,我们将学习如何使用__add__()函数来实现对象的加法运算。在Python中,可以通过定义一个类来创建自定义的对象。假设我们有一个叫做"Vect

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ヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

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

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール