JavaScript后半段

191 阅读2分钟

JavaScript函数

function,是被设计为执行特定任务的代码块

<script>
    function getName(){//注意使用驼峰命名,即第二个单词首字母大写
}
</script>

好处:

函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,这么做的优势是有利于精简代码方便复用。

命名规范:

和变量命名基本一致 尽量小驼峰式命名法 前缀应该为动词 命名建议:常用动词约定

函数调用:

<script>
    function getName(){
        doccument.write('小明')//函数体
}
    getName()//调用一次,输出一次‘小明’,以此类推,调用几次输出几次
</script>

函数体

函数体是函数的构成部分,它负责将相同或相似代码“包裹”起来,直到函数调用时函数体内的代码才会被执行。函数的功能代码都要写在函数体当中。

函数传参

<script>
    function getMax(num1,num2){//函数名小括号里面的就是传参,传参数量按要求自定义。
        document.write(num1*num2)
    }
    getMax(1,4)//1,4为实参,实参和传参相对应
    //把传参比喻成装实参的盒子,实参装进去了,就执行传参的代码,并输出,有多个实参都一样,都装进去,都执行传参的代码,并输出。
</script>

形参:声明函数时写在函数名右边小括号里的叫形参(形式上的参数) 实参:调用函数时写在函数名右边小括号里的叫实参(实际上的参数) 形参可以理解为是在这个函数内声明的变量(比如 num1 = 10)实参可以理解为是给这个变量赋值 开发中尽量保持形参和实参个数一致 我们曾经使用过的 alert('打印'), parseInt('11'), Number('11') 本质上都是函数调用的传参

return返回值

return返回值相当于

<script>
    function getMax(){
      if(num1>num2){
            document.write(num2)
            //用return来写就是:return num2
        }else if(num1=num2){
            document.write(num2)
            //用return来写就是:return num2
        }else{
            document.write(num1)
            //用return来写就是:return num1
        }
        //return+(要返回(输出)的值)
    }
    let re = getMax(6,9)//如果用了return返回值,那要调用函数输出,就必须给函数声明一个变量,然后再用三个输出语句输出声明了的变量。缺一不可。
    document.write(re)
</script>

对象

对象(object):JavaScript里的一种数据类型,可以理解为是一种无序的数据集合

​ 用来描述某个具体事物

对象包括属性和方法

属性(名词):事物的特征,例如一部手机的特征,颜色、型号、尺寸

方法(动词):事物的行为,例如一部手机可以做的行为,播放视频、播放音乐、玩游戏

对象使用
<script>
    //对象声明 let 对象名 = {}
    let person = {
        name:'周树人',//属性之间逗号隔开
        age:23,
        sex:'男'
        sayHi: function(){//对象方法,一般用匿名函数表达
            document.write('hi~~')
        }
    }
    console.log()
</script>
对象输出
<script>
    let person = {
        naem:'周树人',
        age:23,
        sex:'男'
        sayHi: function(){//对象方法,一般用匿名函数表达
            document.write('hi~~')
        }
    }
    console.log(person.name)//第一种输出方式,输出‘周树人’
    console.log(person['name'])//第二种输出方式,输出‘周树人’
    //中括号里面要用字符串包裹,没有字符串包裹,那么里面的值是变量
    person.sayHi()//输出方法,匿名函数,输出‘hi~~’
</script>
对象属性重新赋值
<script>
    let person = {
        name:'周树人',
    }
    person.name='王老五'//name属性就变成了‘王老五’
    document.write(person.name)//此时,输出为‘王老五’
</script>
对象增加属性
<script>
    let person = {
        name:'周树人',
    }
    person.age='23'//增加了age属性,值为‘23’
    person.sex='男'//增加了sex属性,值为‘男’
    person.move=function(){
        document.write('打篮球')
    }//增加了move方法,匿名函数值为‘打篮球’
</script>
对象属性删除
<script>
     let person = {
        name:'周树人',
         age:23
    }
     console.log(person.name)//此时name属性已被删除,输出为‘undefined’,
    //输出,对象里面没有的属性,都输出为‘undefined’
</script>
遍历对象

输出对象的所有属性和属性值

k获取的是对象的属性名,对象名[k]是获取属性值

<script>
    let person = {
        name:'安叔',
        age:34,
        sayHi:function (){
            document.write('hi')
        }
    }
    for (let k in person) {
        console.log(k)//打印所有属性名,‘name’,‘age’,'sayHi'
        console.log(person[k])//打印所有属性值,‘叔’,‘23’,
        //'function (){
          //  document.write('hi')
      //  }'
    }
</script>
内置对象

JavaScript内部提供的对象,包括各种属性和方法给开发者调用

之前用过的内置对象有:document.write() console.log()

内置对象Math
<script>
    Math.random()//生成0-1之间的随机数(包括0不包括1)
    Math.ceil(2.1)(向上取整)//输出3,小数点后面有小数就向上加1
    Math.floor(2.9)(向下取整)//输出2,小数点后面有小数就向下减一
    Math.max(259)(找最大数)//输出9,逗号隔开
    Math.min(3,1,6)(找最小数)//输出1,
    Math.pow(幂运算)(24)//输出2的4次方,值16
    Math.abs(-4)(绝对值)//输出正数4
任意范围随机数
<script>
    //生成0~10的随机数
    Math.floor(Math.random()*(10+1))//最大值10加1,那么生成随机数就有10,
    //生成N~M之间的随机数
    Math.floor(Math.random()*(M(最大值)-N(最小值)+1))+N
</script>