ホームページ ウェブフロントエンド jsチュートリアル パート 1 クイック スタート — js の基本的な練習における日付、数学、およびグローバル オブジェクト

パート 1 クイック スタート — js の基本的な練習における日付、数学、およびグローバル オブジェクト

Jul 28, 2018 am 10:41 AM

tool.js

function print(str){
	document.write(str);
}

function println(str){
	document.write(str+"<br/>");
}

///////通过prototype属性扩展js API的对象的功能/////////

//※把trim方法融入到String对象中: str.trim()
String.prototype.trim = function(){
	 var start=0;//第一个非空格字符的位置
	 var end=this.length-1;//最后一个非空格字符的位置
	 while(start<=end && this.charAt(start)==&#39; &#39;){
		 start++;
	 }
	 while(start<=end && this.charAt(end)==&#39; &#39;){
		 end--;
	 }
	 return this.substring(start,end+1);
};

//给String对象添加一个toCharArray()方法
String.prototype.toCharArray = function(){
	var chs=[];
	for(var x=0;x<this.length;x++){
		chs[x]=this.charAt(x);
	}
	return chs;
};

//给String对象添加一个reverse()方法
String.prototype.reverse = function(){
	//函数内部可以再定义函数----Java做不到
	function swap(arr,start,end){
		var temp=arr[start];
		arr[start]= arr[end];
		arr[end] = temp;
	}
	
	var arr = this.toCharArray();
	for(var start=0,end=arr.length-1; start<end; start++,end--){
		swap(arr,start,end);
	}
	return arr.join("");
};
String.prototype.compareTo=function(str){
	if(typeof(str)!="string"){
		return 1;
	}
	
	var len1=this.length;
	var len2=str.length;
	var shortLen=len1>len2?len2:len1;
	var longLen=len1>len2?len1:len2;
	for(var i=0; i<shortLen; i++){
		if(this.charAt(i)!=str.charAt(i)){
			return this.charAt(i)-str.charAt(i);
		}
	}
	if(len1>len2){
		return 1;
	}else if(len1<len2){
		return -1;
	}else{
		return 0;
	}
	
};


//为数组对象的shift()和unshift()函数取两个我们习惯的别名
Array.prototype.removeFirst=function(){
	return this.shift();
};

Array.prototype.addFirst=function(e){
	return this.unshift(e);
};

Array.prototype.addLast=function(e){
	return this.push(e);
};
ログイン後にコピー

JS言語のオブジェクト--Dateオブジェクト

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JS语言中的对象--Date对象</title>
<script type="text/javascript" src="tools.js"></script>
</head>
<body>
	<script type="text/javascript">
		var date = new Date();
		println(date);//date.toString()
		println(date.toDateString());//只显示日期
		println(date.toLocaleString());//本地格式
		println(date.toLocaleDateString());//本地格式:只显示日期

		var year = date.getYear(); //建议使用getFullYear()代替
		println(year); //118 = 2018-1900
		year = date.getFullYear();//※
		println(year);

		var month = date.getMonth();//※ 0~11  我们用时要 +1
		println(month);

		var day1 = date.getDay(); //※星期几, 其中星期日是0
		var day2 = date.getDate(); //※月份中的第几天,就是我们平时用的“日期”

		println(year + "." + (month + 1) + "." + day2);
	</script>

	<hr/>

	<script type="text/javascript">
		//格式转换

		//日期对象 和 毫秒值之间的转换
		var date2 = new Date();
		var time = date2.getTime(); //日期对象     毫秒值
		println("毫秒值:" + time);

		time = time + 2 * 24 * 60 * 60 * 1000;//2天后
		var date3 = new Date(time); //也可以用setTime() // 毫秒值     日期对象
		println("后天:" + date3.toLocaleString());

		//日期对象 和  字符串之间的转换
		var str = date3.toLocaleString();//日期对象      字符串

		//字符串     日期对象
		//var str = "6/27/2018"; //格式 OK
		//var str = "July 23, 2018"; //格式 OK
		//var str = "2010/08/08"; //格式 OK
		var str = "2010-08-08"; //格式 OK
		var time = Date.parse(str);
		var d = new Date(time);
		println(d.toLocaleString());
	</script>

    <hr/>
    
	<script type="text/javascript">
		/*一个小语法:
		   with(对象){
		 	 //在该区域内可以直接使用"对象"的内容(属性和方法),不需要“对象.”
		  }
		 	 
		 */
        var date=new Date();
		with (date) {
			var year = getFullYear();
			var month = getMonth() + 1;
			var day = getDate();
			println(">>> " + year + "年" + month + "月" + day + "日");
		}
	</script>
</body>
</html>
ログイン後にコピー

JS言語のオブジェクト--Mathオブジェクト

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JS语言中的对象--Math对象</title>
<script type="text/javascript" src="tools.js"></script>
</head>
<body>
	<script type="text/javascript">
		var x = -323.78;
		x = Math.abs(x);
		println("x=" + x);

		x = 7.89;
		x = Math.floor(x);
		println(x);//8
		x = Math.ceil(x);
		println(x);//7
		x = Math.exp(x);
		println(x);//e^2

		y = 5;
		println(Math.pow(x, y)); //x 的 y 次幂

		//round(x) 四舍五入
		println(Math.round(4.56));

		//random() 返回 0 ~ 1 之间的随机小数。
		//生成10个[1,10]范围内的随机整数
		for(var i=1;i<=10;i++){
		  	//int n = (int)(Math.random()*10) +1; //Java写法
		  	//var n = Math.floor( Math.random()*10 ) +1; //JS写法1---用Math.floor()实现取整
		  	var n=parseInt(Math.random()*10)+1;//JS写法2---用parseInt()实现取整
		  	print(n+" ");
		}
		 println("");
	</script>
</body>
</html>
ログイン後にコピー

JS言語のオブジェクト--グローバルオブジェクト、トップレベル関数(グローバル関数)

js は Global というオブジェクトでいくつかの共通関数を定義しており、呼び出し時に「Global」と書くことはできません。

eval(str): 文字列をjsステートメントとして評価して実行する

Number(s): パラメータsを「数値(Number型の値)」に変換し、パラメータが引数を数値に変換できない場合に返される日付ミリ秒値: NaN

parseFloat(): 文字列を解析し、浮動小数点数を返します。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JS语言中的对象--Global对象, 顶层函数(全局函数)</title>
<script type="text/javascript" src="tools.js"></script>
</head>
<body>
	<script type="text/javascript">
		//js把一些通用的函数定义在一个叫Global的对象中,调用时不能写"Global."
		//eval(str): 把字符串当成js语句来进行评估且执行
		eval("x=10;y=20;document.write(x*y);");

		document.write("<br/>" + eval("2+2") + "<br/>");
		var x = 10;
		document.write(eval(x + 17) + "<br/>");

		//isNaN(s): 判断s是否是一个"非Number类型"的值
		var str = "123";
		println(isNaN(str)); //false ---不是"非Number类型"
		str = "abc123";
		println(isNaN(str)); //true ---是"非Number类型"
	</script>

	<hr />

	<script type="text/javascript">
		//Number(s): 把参数s转换成"数值(Number类型的值)",如果参数是Date则返回毫秒值,如果参数不能转换成数值则返回: NaN
		var test1 = new Boolean(true);
		var test2 = new Boolean(false);
		var test3 = new Date();
		var test4 = new String("999");
		var test5 = new String("999 888");

		document.write(Number(test1) + "<br />");
		document.write(Number(test2) + "<br />");
		document.write(Number(test3) + "<br />");
		document.write(Number(test4) + "<br />");
		document.write(Number(test5) + "<br />");

		document.write(Number.MAX_VALUE + "<br />");
		document.write(Number.MIN_VALUE + "<br />");
		document.write(Number.NEGATIVE_INFINITY + "<br />");
	</script>

	<hr />

	<script type="text/javascript">
		//parseFloat(): 解析一个字符串并返回一个浮点数。 
		var str = "3.14159";
		var val = parseFloat(str);
		val *= 2;
		println(val);

		//parseInt(): 解析一个字符串,并返回一个整数。
		//parseInt(str, radix) : 没有参数radix时为十进制

		//将字符串     十进制数
		var num = parseInt("110", 10); //10进制的字符串"110"     110
		println(num);//110
		var num = parseInt("110", 2); //2进制的字符串"110" --> 6
		println(num);//6
		var num = parseInt("110", 16); //16进制的字符串"110" --> 272
		println(num);//272

		//将十进制数 --> 其它进制格式的字符串
		var num = 100; //js自动会把一个数值包装成一个Number对象
		//NumberObject.toString(radix)
		println(num.toString(2)); //把num转换成2进制的字符串
		println(num.toString(16)); //把num转换成16进制的字符串
	
	</script>
</body>
</html>
ログイン後にコピー

関連記事:

パート 2 クイック スタート—JS 基本実践 BOM—ブラウザ オブジェクト モデル、DOM

パート 3 クイック スタート—JS 基本実践アプリケーション コード共有

関連動画:

フロントエンド JS 開発のための 27 の古典的な実践的なビデオ チュートリアル - 無料のオンライン ビデオ チュートリアル

以上がパート 1 クイック スタート — js の基本的な練習における日付、数学、およびグローバル オブジェクトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? 独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? Mar 18, 2025 pm 03:12 PM

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? Mar 18, 2025 pm 03:14 PM

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? Apr 04, 2025 pm 02:42 PM

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:16 PM

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:17 PM

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

誰がより多くのPythonまたはJavaScriptを支払われますか? 誰がより多くのPythonまたはJavaScriptを支払われますか? Apr 04, 2025 am 12:09 AM

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

chart.js:パイ、ドーナツ、バブルチャートを始めます chart.js:パイ、ドーナツ、バブルチャートを始めます Mar 15, 2025 am 09:19 AM

このチュートリアルでは、chart.jsを使用してパイ、リング、およびバブルチャートを作成する方法について説明します。以前は、4つのチャートタイプのchart.js:ラインチャートとバーチャート(チュートリアル2)、およびレーダーチャートと極地域チャート(チュートリアル3)を学びました。 パイとリングチャートを作成します パイチャートとリングチャートは、さまざまな部分に分かれている全体の割合を示すのに理想的です。たとえば、パイチャートを使用して、サファリの男性ライオン、女性ライオン、若いライオンの割合、または異なる候補者が選挙で受け取る票の割合を示すことができます。 パイチャートは、単一のパラメーターまたはデータセットの比較にのみ適しています。パイチャートのファンの角度はデータポイントの数値サイズに依存するため、パイチャートは値のあるエンティティをゼロ値で描画できないことに注意してください。これは、割合がゼロのエンティティを意味します

Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Apr 04, 2025 pm 05:12 PM

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

See all articles