内置對象
JS 的對象分三種:自定義對象,内置對象,浏覽器對象;前兩種是JS的基礎内容,第三個是JS獨有的
1.内置對象:是指JS語言自帶的一些對象,這些對象供開發者使用,并提供了一些常用的的功能(屬性和方法)
查找文檔,用MDN來查詢 内置對象,可以看内置對象的屬性和方法
學習内置對象中的方法:
- 查閱該方法的功能
- 檢視裡面參數的意義和類型
- 檢視傳回值的意義和類型
- 通過demo進行測試
2.Math對象
- Math 是一個内置對象,它擁有一些數學常數屬性和數學函數方法
- Math 不是一個構造器(構造函數)就不需要new來調用,Math 的所有屬性與方法都是靜态的。引用圓周率的寫法是 Math.PI,調用正餘弦函數的寫法是 Math.sin(x),x 是要傳入的參數。
1. Math.max() 和 Math.min()
1. 參數:一組數值
如果沒有參數,則結果為 - Infinity
2. 傳回值:
<script>
console.log(Math.max(1,99,'nihao'));//NaN
console.log(Math.max());//-Infinity
console.log(Math.max(1, 3, 2));//3
</script>
3.利用對象封裝自己的數學對象,裡面有PI 屬性,最大值和最小值方法
var myMath = {
PI:3.1459,
max:function(){//不确定要比較多少個數值中的最大值時,調用僞數組arguments
var max = arguments[0];
for(var i=1;i<arguments.length;i++){
if(arguments[i]>max){
max=arguments[i];
}
}
return max;
}
//不要忘記屬性與方法之間用逗号隔開
,min:function(){
var min = arguments[0];
for(var i=1;i<arguments.length;i++){
if(arguments[i]<min){
min=arguments[i];
}
}
return min;
}
}
console.log(myMath.PI);
console.log(myMath.max(1,2,3));
console.log(myMath.min(1,2,3));
2. Math.floor() 向下取整
3. Math. ceil() 向 上取整
4. Math.round() 四舍五入取整
5. Math. abs() 求絕對值
console.log(Math.floor(1.5));//1
console.log(Math.floor(1.9));//1
console.log(Math.ceil(2.1));//3
console.log(Math.ceil(2.9));//3
console.log(Math.round(3.5));//4
console.log(Math.round(3.9));//4
console.log(Math.round(-1.1));//-1
console.log(Math.round(-1.5));//-1
console.log( Math. abs(-1));//1
console.log(Math. abs('-1'));//1
//此處有隐式轉換,把字元串型的-1轉換成數字型
6.Math.random() 求随機數
function getRandom() {
return Math.random();
}
<script>
// 要調用Math.floor(Math.random()*(max-min+1))+min
function getRandom(min,max){
return Math.floor(Math.random()*(max-min+1))+min;
}
console.log(getRandom(1,10));
// 例如随機點名
var arr=['小小','童童','大大','aiai','asas','asoaso'];
console.log(arr[getRandom(0,arr.length-1)]);
//将各個同學的姓名儲存在數組中,是對數組的索引進行求随機數,注意從0開始,到數組長度減1
</script>
-
猜數字遊戲:
要求:程式随機生成一個1到10之間的數字,并讓使用者輸入一個數字
若大于該數字,就提示,數字大了,繼續猜
若小于該數字,就提示,數字小了,繼續猜
若等于該數字,就提示猜對了,結束程式
<script>
// 分析:
// 1.要生成随機數調用Math.random()方法中的傳回兩個數中之間的随機整數,并且包含這兩個整數
// 要調用Math.floor(Math.random()*(max-min+1))+min
// 2. 一直猜到正确為止,用到循環,此處用while循環簡單,那循環條件,需要保證一直猜,隻到正确,才退出
// 3. 用到if else if 多分支語句來判斷大于,小于,等于
function getRandom(min,max){
return Math.floor(Math.random()*(max-min+1))+min;
}
var random = getRandom(1,10);
while(true){//此處先使循環是死循環
var num = prompt('請輸入1~10的數字:');
if(num>random){
alert('你猜大了');
}
else if(num<random){
alert('你猜小了');
}
else{
alert('你猜對了');
break;//一定要結束此循環
}
}
</script>