JS基础(下篇)| 青训营

61 阅读2分钟

函数

创造函数

创造一个函数对象

var fun = new Function("console.log('Hello 这是我的第一个函数');")

使用函数声明来创建一个函数

function 函数名([形参1,形参2...形参N]){
​
}

函数内部可以再声明一个函数

使用函数表达式来创建一个函数

var 函数名=function([形参1,形参2...形参N]){
    
}

返回值

在函数return后语句都不会执行

如果return后不跟值,或者不写return,都会返回undefined

例:

pPum8Cd.png

如果该式成立,返回true,该式不成立,返回false

如果 return 10;那么返回值就是10

返回值可以是任意的数据类型,也可以是一个对象

实参

当我们的参数过多时,可以将参数封装到一个对象中,然后通过对象传递

function sayHello(o){
    console.log("我是"+o.name+",今年"+o.age+"岁,是一个"+o.gender+"人,我住在"+o.address)
}
​
var obj={
    name:"孙悟空",
    age:18,
    gender:"男",
    address:"花果山",
}
​
sayHello(obj);
function fun(a){
console.log("a="+a);
}
fun(sayHello);
//把函数当作参数

立即执行函数

pPunFqf.png

this

pPuMEdK.png

使用工厂方法创建对象

通过该方法可以批量的创建对象

function createPerson(name ,age ,gender){
    //创建新的对象
    var obj=new Object();
    //向对象中添加属性
    obj.name =name;
    obj.gender=gender;
    obj.sayName=function(){
        alert(this.name);
    };
    //将新的对象返回
    return obj;
}

构造函数

pPu4CLQ.png

pPu4kon.png

pPu4VJ0.png

正则表达式

pPQYr1x.png

pPQYu7Q.png

用字面量创建正则表达式:

pPQYgBD.png

注:

  1. [ ]里也是或的关系,[ab]==a|b
  2. [a-z] 任意小写字母
  3. [A-Z] 任意大写字母
  4. [A-z] 任意字母
  5. a[bde]c == abc|adc|aec
  6. [^ab] 包含除了ab的字母
  7. [0-9] 任意数字
  8. [^0-9] 除了数字

字符串与正则表达式:

拆分:

pPQtc2q.png

搜索:

pPQtTi9.png

重复:

pPQabzn.png

检查:

pPQaxdU.png

注:

reg = /^aa$/
//字符串必须包含aa

pPQd1yt.png

pPQ0QqP.png

用户名去除空格:

pPQ0nxA.png

pPQ0CK1.png

手机号的正则表达式:

pPQdksx.png

var phoneReg = /1[3-9][0-9]{9}$/ ;

电子邮件的正则表达式:

宿主对象(DOM和BOM)

DOM(文档对象模型)

pPQA4ED.png

pPQVmef.png

pPQVNwT.png

pPQ0wq0.png

pPQ0DaT.png