ネットの上でいくつかjavascriptテーマ

10205 ワード

1、文字列がこのように構成されているかどうかを判断し、最初は文字でなければならない.後は数字、下線、総長さ5-20とすることができる.
答え:
var str = "string39_string";
var regexp = /^[a-z][\d_]{4,19}/gi;
alert(regexp.test(str));
2、文字列abcdefgを切り取るefg
答え:
  var str = "abcdefg";
  var str2 = str.substring(str.indexOf("efg"));
  alert(str2);
3、一つの文字列の中で最も多く出現した文字を判断して、この回数を統計します.
4、1つの方法を編纂して、1つの文字列のバイトの長さを求めます.
(1)charCodeAt()方法はcharAt()方法と似ていますが、指定された位置の文字自体を返すのではなく、Unicoode文字セットの文字の符号化値を返します.コンピュータは数字しか理解できません.コンピュータにとって、すべての文字列はある種類の符号化された数字です.数字自体を使用するのではなく、デジタルエンコードに代表される文字を使用する必要がある場合、コンピュータは、エンコードと文字セットの内部対応関係に基づいて、各符号化を文字セットに対応する文字に変換します.
(2)なぜですか?255:Unicodeコードの最初の256文字(大きさ、文字、数字、少数特殊文字:句読点、通貨記号などを含む)、つまり0~255の文字は1バイトだけで、他の文字は漢字、日本語など、2バイトを占めています.
function much(str) {
 var count = 0;
 if (str!=null) {
  for (var i=0;i<str.length;i++) {
   if (str.charCodeAt(i)>255) {
    count += 2;   
   } else {
    count ++;    
   }
  }
  
 } else {
  return;
 }
 console.log(count);
}
much("123aB  ");
 
5、一つの方法を編纂し、一つの配列の重複要素を取り除く.
6、ウェブページでは、その年の残り時間を計算するカウントダウンプログラムを実現します.xx年はxx日が残っています.xx分xx秒です.
答え:年4桁の数字、月は表しています:0-11、日付は表しています:1-31、時間は表しています:0-23;
function show() {
 var date1 = new Date();
 var year = date1.getFullYear();
 var date2 = new Date(year+1,0,1,0,0,0);  //2015.01.01. 00:00
 var time = (date2-date1)/1000;           //       ,  /1000   
 var date = Math.floor(time/(24*60*60));
 var hours = Math.floor(time%(24*60*60)/(60*60));
 var minutes = Math.floor(time%(24*60*60)%(60*60)/60);
 var seconds = Math.floor(time%(24*60*60)%(60*60)%60);
 var str = year + "   " + date + " " + hours + " " + minutes + " " + seconds + " "; 
 var ainput = document.getElementById("input");
 ainput.value = str;
 //console.log(date2);
} 
window.setInterval(show,1000);
7、jsの中でどのように一つの変数を検出するかは一つのstringタイプです.
答え:
また、instance ofメソッドは、処理中のオブジェクトのタイプを識別するために使用され、主に開発者に特定のタイプのオブジェクトを明確にすることを要求する.
var object1 = new String("Hello world");
alert(object1 instanceof String);  //true
var str1 = "string1";
var str2 = new String("string2");
function test (str) {
 return (typeof str == "string" || str.construtor == String );
}
alert(test(str1));  //true
aler(test(str2));   //false
alert(typeof str2); //object
8、マウスでページの中の任意のタブをクリックして、alertはこのラベルの名前を出します(互換性に注意します).
答え:nodeName、または使う、tagName
window.onclick = function (e) {
 var e = e || window.event;
 var target = e.srcElement || e.target;
 var name = target.nodeName.toLowerCase();
 alert(name);
}
9、jsいくつかの基本データのタイプ.
答え:簡単です.Udefined、Number、String、Blooean、Object. 
複合:Object、Aray、Function.
10、jsの基礎的な対象はどれですか?windowとdocumentの常用方法と属性は並べられます.
答:「javascript高級プログラム設計」によると
js基本対象:String、Number、Boolean、Function、Aray、Math、Dateなど.
window:
属性:status、default Status、inners Width、innersHeight
方法:alert()、confirm()、prompt()、オプン()、close()、go()、formard()、back()、set Timeout()、clearTimeout()、set Interval()、clearInterval()
document:
属性:クッキー、nodeType、documentElement、URL
方法:getElement ById()、getElements ByTagName()、getElements ByName()、createElement()、createText Node()、
11、document.write()とinners HTMLの違い:
document.write()を実行すると、ページが塗り替えられます.何度も呼び出したら、前のページが修正されます.
innerHTMLはhtmlの一部だけを描き直すことができます.
12、alertの改行をどう制御するか:      alert("abb")
13、次のcssタグはjsでどのようにスペルするべきですか?border-left-moz-viewport.答:border Left Color、mozViewportはIEまたはDOMの中でスタイルテーブルのスタイルobj.current Style.background Colorを取得します.Dcument.get ComputtedStyle(obj,null).background Color;
14、どうやってDOM要素を表示/隠すか.
l.style.display=「block」el.style.display="none"
obj.style.visibility=「visibile」obj.style.visibility=「hidden」(もう一つは元素を隠して領域の空白を残します.)
15、js複数人の開発関数の名前を重んずる問題を回避する:答:開発前に規定されたネーミング仕様ができ、異なる開発者が開発した機能によって、関数の前にプレフィックスを追加する.各開発者の関数をクラスにパッケージし、呼び出し時にクラスの関数を呼び出します.たとえ関数の名前が重複していなくても、クラス名が重複していなければいいです.
16、html元素のイベントをどうやって追加しますか?いくつかの方法があります.
答え:(1)HTML要素のイベント属性には
;(2)jsでele.oncolick=function(){}(3)イベントを追加する方法addEventListener(DOM対応のブラウザ)またはatachEvent(IE)を使用する.
17、jsでclassを定義して、どうやってプロタイプを拡張しますか?javascriptでclass Nameで表しています.object.classNameはhtmlのclassを訪問します.MyObject.prototype.show=function(){alert]]を元にショーという方法を拡張します.new MyObject().show();この方法を呼び出します
18、Firefoxの下でどうやってouterHTMLを実現しますか?
  window.onload = function () {
   var innerdiv = document.getElementById("inner");
   var ospan = document.createElement("span");
   var op = document.createElement("p");
   var oText = document.createTextNode("Hello world!");
   ospan.appendChild(oText);
   op.appendChild(ospan);
   innerdiv.appendChild(op);
   console.log(innerdiv);
  }
19、補足コードは、マウスがButton 1をクリックしてButton 1をButton 2の後ろ

答え:
 <script type="text/javascript">
  function change() {
   var div = document.getElementsByTagName("div")[0];
   var button1 = document.getElementById("button1");
   var button2 = document.getElementById("button2");
   button2.parentNode.appendChild(button1);
  }
 </script>
 </head> 
 <body> 
  <div> 
   <input type="button" id ="button1" value="1" onclick="change()"> 
   <input type="button" id ="button2" value="2" /> 
  </div>
 </body>
 20、異歩を書いてjs方案をロードする;
答え:現在5つの案があります.
(1)(推奨しない)<script>ラベルの中の属性async=“async”;
HTML 5に新しく追加された属性:async.asyncプロパティはスクリプトが利用可能になると非同期で実行されます.注:async属性は外部スクリプトのみに適用されます.
<script type="text/javascript" src="demo_async.js" async="async"></script>
試験結果:表示順序1 2 3;
<!DOCTYPE html> 
<html> 
 <head>  
  <title>async</title>
  <script type="text/javascript" src="async.js" async="async"></script>
  <script type="text/javascript">
   console.log(1);   
  </script>
  <script type="text/javascript">
   window.onload = function () {
    var div1 = document.getElementById("div1");
     if (div1!=null){
     console.log(3);
     }
   }
   
  </script>
 </head> 
 <body> 
  <div id="div1">
   <p>async test<p>
  </div>
 </body> 
</html>
async.js  :
console.log(2);
(2)(推奨されていない)<script>タグの中の属性defer=“defer”;
defer属性は、スクリプトの実行がページローディングまで遅延されるかどうかを規定しています.のみ IEはdefer属性をサポートします.
<script type="text/javascript" defer="defer">
テスト結果:IEの下でテストしたにもかかわらず、本人は影響がないことを発見しました.やはりコードを貼ってください.コードが簡単か間違っていますか?
<!DOCTYPE html> 
<html> 
 <head>  
  <script type="text/javascript" dafer="defer">
   alert(2);
  </script>
  <script type="text/javascript">
   alert(1);   
  </script>
 </head> 
 <body> 
  <div id="div1">
   <p>async test<p>
  </div>
 </body> 
</html
(3)動的作成<script>ラベル
   (function () {
    var ss = document.createElement("script");
    ss.type = "text/javascript";
    ss.src = "http://code.jquery.com/jquery-1.7.2.min.js";
    var ss2 = document.getElementsByTagName("script")[0];
    ss2.parentNode.insertBefore(ss,ss2);
   })();
テスト結果:まず1を表示してから2を表示します.
<!DOCTYPE html> 
<html> 
 <head>  
  <title>async</title>
  <script type="text/javascript">
   (function () {
    var ss = document.createElement("script");
    ss.type = "text/javascript";
    ss.src = "async.js";
    var aScript = document.getElementsByTagName("script")[0];
    aScript.parentNode.insertBefore(ss,aScript);
    })();
   
  </script>
  <script type="text/javascript">
   console.log(1);   
  </script>
 </head> 
 <body> 
  <div id="div1">
   <p>async test<p>
  </div>
 </body> 
</html>
(4)javascriptのscriptタグをbodyタグの後に置く.
(5)ajax
お会いしました.www.w 3 school.com
jQuery下のAjax
<script type="text/javascript" src="jquery-1/10/1.js"></script>
<script type="text/javascript">
    $(function () {
        $("input").click(function () {
            $.getScript("1234.js");
        });
    
    })
</script> 
<boby>
    <input type="button" value="button" />
</body>
1234.js  サーバ側のファイル:
alert("response");
    ウェブページのロードが完了したら、1234.jsのファイルは自動的にロードされません.inputのボタンをクリックしてからやっと1234.jsファイルをロードします.
(6)iframe
詳細は:http://hi.baidu.com/flondon/item/1ca3cacb4cb6c90aad092f97
21.キーワードthisの使い方.(1)オブジェクト方法では、キーthisは、常にこの方法を呼び出すオブジェクトを指す.var oCar=new Object;oCard.co lor=「red」oCard.showColor=function(){ alert(this.co lor)   //out putts「red」}ここで、キーワードthisは対象のshowColor()方法に用いられる.この環境では、thisは対象のoCasに等しい.(同様にイベントオブジェクトの文脈では、thisはイベントオブジェクトを指す.ovent.prevent Default=function(){ this.returnvalue=false;)(2)コンストラクタのフュージョン・カー(s Color,i Dors,iMpg){ this.co lor=s Color this.doors=i doors this.mpg=iMpg this.showColor=function(){  alert(this.co lor) };}var oCar 1=new Car(「red」、4,23)、var oCar 2=new Car(「blue」、3,25)、構造関数の内部にオブジェクトが作成されずにthisキーを使用します.new演算子を使って構造関数を呼び出した場合、最初の行のコードを実行する前にオブジェクトを作成します.このオブジェクトにアクセスするのはthis=HTrcの属性です.「image 1.gif」onmouseover=「this.src='mage 2.gif'」onmouseout=「this.src='image 1.gif'」/』(4)css expressionではthisキーワードを使用しています.注意:cssではexpressionを使うのはIEブラウザでしか認識できません.IE 5および以降のサポートです. スター:expression(onmouseover=function){  this.style.background Color="  },  onmouseout=function(){   this.style.background Color=“钻FFFF” })}