JavaScript基础语法five
1、什么是对象
对象:一种数据类型,一种无序的数据集合,可以详细的描述事物。
2、对象使用
对象声明语法:
let 对象名={} let 对象名=new Object()
对象有属性和方法组成
let 对象名={ 属性名:属性名, 方法名:函数 }
属性-查:
语法:对象名.属性名
另一种写法:对象名[属性名](属性名中带有字符串的用此写法)
let obj={ 'goods-name':'小米',//"goods-name":'小米',color:'pink' } console.log(obj.color) console.log(obj['goods-name'])
属性-改:
语法:对象名.属性名=新值
属性-删:
语法:delete 对象名.属性名
属性-增:
语法:对象名.新属性名=值
方法:在对象外面叫函数,在对象里面叫方法
方法调用:对象名.方法名()
<script>let person = {name: 'andy',sayHi: function () {document.write('hi')},totalSum: function (x, y) {document.write(x + y)}}person.sayHi()//对象直接调用即可,不需要打印person.totalSum(1, 2)</script>
3、遍历对象
<script>let arr=['pink','red','blue']for(let i in arr){console.log(i);//数组的下标 索引号,但是是字符串'0',不推荐遍历数组 }let obj={uname:'pink',age:18,gender:'女'}//for in适合遍历对象for(let key in obj){console.log(key);//属性名'uname' 'age' 'gender'console.log(obj[key]);}</script>
4、内置对象
内置对象是js内部提供的对象
Math对象是js提供的一个数学对象
<script>//ceil向上取整console.log(Math.ceil(1.1));//2console.log(Math.ceil(1.5));//2console.log(Math.ceil(1.9));//2//floor 向下取整console.log(Math.floor(1.1));//1console.log(Math.floor(1.5));//1console.log(Math.floor(1.9));//1//round 四舍五入取整console.log(Math.round(1.1));//1console.log(Math.round(1.49));//1console.log(Math.round(1.5));//2console.log(Math.round(1.51));//2console.log(Math.round(-1.1));//-1console.log(Math.round(-1.5));//-1console.log(Math.round(-1.51));//-2//max,minconsole.log(Math.max(1, 2, 3, 4));//4console.log(Math.min(1, 2, 3, 4));//1//abs绝对值console.log(Math.abs(-1));//1 </script>
null也是js数据类型中的一种,它表示不存在的对象,使用typeof检测它的类型为object。
随机数函数
Math.random():[0,1)//左闭右开
生成0-10的随机数:Math.floor(Math.random()*(10+1))
生成5-10的随机数:Math.floor(Math.random()*(5+1))+5
生成N-M的随机数:Math.floor(Math.random()*(M-N+1))+N
案例:猜数字
<script>function getRandom(N,M){return Math.floor(Math.random()*(M-N+1)+N)}let getNumRandom=getRandom(1,10)let flag=truefor(let i=1;i<=3;i++){let num = +prompt('请输入要猜的数:')if(num>getNumRandom){alert('猜大了')}else if(num<getNumRandom){alert('猜小了')}else{alert('猜对了')flag=falsebreak}}if(flag){alert('次数已用完')}</script>