web階段の二十四:Jsは対象と対象を内蔵しています.
7842 ワード
オブジェクトを内蔵 document-document.referrer/前のジャンプページのアドレスを取得する(サーバ環境が必要) location-window.locations.href/取得またはリセットurlアドレス-window.locations.search/取得アドレスパラメータ部分-window.locations.hash/ページアンカーまたはハッシュ値 Math-Math.randomは0-1の乱数を取得します.Math.florは下に整理します.Math.ceirは上に上げて を整理します.
document
上記のdocumentは比較的熟知しています.document.write()はページ全体に内容を書きます.ここのdocument.referrerは前のジャンプ先のアドレスを取得するために使います.例えば、私たちは電子商取引サイトに登録していますが、登録していないと商品を購入しています.購入する時は登録が必要です.登録が完了してから前のページにジャンプします.このような操作です.
上に私達はもう一つのwindow.location.hrefを使いました.
urlアドレスの取得またはリピート
第二に、パラメータの部分を取得します.前にフォームを講義した時に、入力した値をアドレスに送ります.そのサイトではユーザーの情報や他の何かを受け取ります.window.location.searchを通じて入手できます.
Math
一つは数学の方法を内蔵して、いくつかの操作を実現することができます.
いくつかの概念を理解する:
プロセスとオブジェクト指向プログラミング
相互の、共同の存在です.
1、プロセスに向かって:すべての仕事は現在書きます.
2、対象に向かって:プログラミング思想で、多くの機能は事前に作成されています.使用する時、機能の運用だけに注目して、この機能の具体的な実現過程を必要としません.
javascriptオブジェクトは関連する変数と関数を一つの全体に結合します.この全体をオブジェクトといい、オブジェクトの変数を属性、変数の関数をメソッドといいます.javascriptの対象は辞書に似ています.
オブジェクトの作成方法
単量体
引き継ぐ
callとappyの違い
document
上記のdocumentは比較的熟知しています.document.write()はページ全体に内容を書きます.ここのdocument.referrerは前のジャンプ先のアドレスを取得するために使います.例えば、私たちは電子商取引サイトに登録していますが、登録していないと商品を購入しています.購入する時は登録が必要です.登録が完了してから前のページにジャンプします.このような操作です.
//
var backUrl = document.referrer;
//
//
window.location.href = backUrl;
baidu
location上に私達はもう一つのwindow.location.hrefを使いました.
urlアドレスの取得またはリピート
第二に、パラメータの部分を取得します.前にフォームを講義した時に、入力した値をアドレスに送ります.そのサイトではユーザーの情報や他の何かを受け取ります.window.location.searchを通じて入手できます.
window.onload = function(){
// ?
//url?aa=tom#12 ( )
var data = window.location.search;//?aa=tom
var hash = window.location.hash;//#12
alert(hash);//#12
var oSpan = document.getElementById('span01');
// alert(data);//?aa=tom
var arr = data.split('=');
// alert(arr);//?aa,tom
//
var name = arr[1];
oSpan.innerHTML = name;//
}
上のコードにも書いてあります.ページのアンカーポイントを取得したり、ハッシュ値を呼んだりします.例えば、オンラインで本を読んだり、保存したりして、ウェブページをクリックして、アンカーポイントを取得します.今度はこのアンカーポイントを通じて、私たちが見た部分を再発見することができます.Math
一つは数学の方法を内蔵して、いくつかの操作を実現することができます.
Math
// var num = Math.random();
// alert(num);// 0-1
var a = 10;
var b = 20;
// var num = Math.random()*(b-a)+a;
// alert(num);// 10-20
var arr = [];
for(var i=0; i<20; i++){
// var num = Math.floor(Math.random()*(b-a)+a);// ,10-19
var num = Math.floor(Math.random()*(b-a + 1)+a);// ,10-20
arr.push(num);//
}
alert(arr);//17,20,20,11,11,19,17,16,10,11,16,11,18,13,13,11,17,14,19,19
対象に向けるいくつかの概念を理解する:
プロセスとオブジェクト指向プログラミング
相互の、共同の存在です.
1、プロセスに向かって:すべての仕事は現在書きます.
2、対象に向かって:プログラミング思想で、多くの機能は事前に作成されています.使用する時、機能の運用だけに注目して、この機能の具体的な実現過程を必要としません.
javascriptオブジェクトは関連する変数と関数を一つの全体に結合します.この全体をオブジェクトといい、オブジェクトの変数を属性、変数の関数をメソッドといいます.javascriptの対象は辞書に似ています.
オブジェクトの作成方法
単量体
var Tom = {
//
name:'tom',
age:18,
//
showName:function(){
alert(this.name);
},
showAge:function(){
alert(this.age);
}
}
//
alert(Tom.name);
alert(Tom.age);
//
Tom.showName();
工場モード
function Person(name,age,job){
//
// var o = new Object();//
var o = {};// 、
o.name = name;
o.age = age;
o.job = job;
o.showName = function(){
alert(this.name);
}
o.showAge = function(){
alert(this.age);
}
o.showJob = function(){
alert(this.job);
}
return o;
}
var Tom = Person('tom',18,' ');
Tom.showJob();
var Jack = Person('jack',19,' ');
Jack.showJob();
構造関数
function Person(name,age,job){
this.name = name;
this.age = age;
this.job = job;
this.showName = function(){
alert(this.name);
}
this.showAge = function(){
alert(this.age);
}
this.showJob = function(){
alert(this.job);
}
}
//new ,
var Bob = new Person('bob',18,' ');
Bob.showJob();
var Alex = new Person('alex',19,' ');
Alex.showJob();
alert(Bob.showName == Alex.showName);//false 。
プロトタイプ
function Person(name,age,job){
this.name = name;
this.age = age;
this.job = job;
Person.prototype.showName = function(){
alert(this.name);
}
Person.prototype.showAge = function(){
alert(this.age);
}
Person.prototype.showJob = function(){
alert(this.job);
}
}
// showName ,
var Lucy = new Person('lucy',18,' ');
// ,
Lucy.showName = function(){
alert(' ' + this.name);
}
Lucy.showName();// lucy。 , 。
var Lily = new Person('lily',19,' ');
Lily.showName();//lily
alert(Lucy.showName == Lily.showName);//false
上記の主な理解が必要なのは、オブジェクトを呼び出す方法は、まず対象の内部にあるかどうかを確認し、ある場合は自分のものを使って、ない場合は元のモデルに戻って探します.引き継ぐ
callとappyの違い
call apply
/*
call apply
this, apply
*/
function aa(a,b){
alert(' this ' + this + ', a ' + a + ', b ' + b);
}
// this [object Window], a 2, b 3
// aa(2,3);
// this abc, a 2, b 3
// aa.call('abc',2,3);
// this abc, a 2, b 3
aa.apply('abc', [2,3]);
引き継ぐ
//
function Fclass(name, age){
this.name = name;
this.age = age;
}
Fclass.prototype.showName = function(){
alert(this.name);
}
Fclass.prototype.showAge = function(){
alert(this.age);
}
//
function Sclass(name, age, job){
// call apply
Fclass.call(this, name, age);
this.job = job;// job ,
}
// :
Sclass.prototype = new Fclass();
Sclass.prototype.showJob = function(){
alert(this.job);
}// , 。
// ,
var Driver = new Sclass('tom',18,' ');
Driver.showName();
Driver.showAge();
Driver.showJob();
上の継承で注意したいのは、父の属性を継承する場合は、父の種類をコールする方法で、本来は父の種類を指すthisをサブクラスとします.このように属性は継承されます.