javascript变量

定义变量

var 声明变量的关键字

var a;

var a = 10;

var b = 20.8;

var c = "demo";

定义时不区分数据类型,但是使用时存在类型的区分

变量类型:

①基本类型:

(零零散散不可拆分)

数字类型 10 10.6

字符串 "aa" 'aaa'

布尔类型 真/假 true/false

undefined类型 即声明变量但不进行赋值

null 类型 涉及到一个量,但是这个量本身不存在

②复合类型

数组

var a = [10,30.6,"aaa",'bb',true,undefined,null,[10,50],对象,函数];

alert(a); 或 console.log(a);

通过下标访问数组的一个内容

console.log(a[0]);

var num=a[0];

console.log(num);

如果这个数据是一个数组,那要访问这个数组里的数据则表达为

console.log(a[0][5]);

对象

var obj = {};

var obj = {

    name:"小丽",

    age:28,

    play:["篮球","足球"],

    husband:{

        name:"张三",

        age:30

    },

    children:[{

        name:"lili",

        age:14

    } , {

        mame:"nana",

        age:10

    }

]

}

访问变量

var oo = obj;

console.log(obj);

var aa= obj.name;

通过对象属性访问

console.log(aa);

console.log(obj.play);

console.log(obj.play[0]);

console.log(obj.husband.age)

函数

function f(a,b){}

①命名函数

其中a,b表示参数列表,f是函数名,{}为函数体

function f(a,b){

    console.log(a);

    console.log(b);

    console.log("函数执行啦");

}

函数调用 函数名/变量名+()

比如 f(10,"aaa")

还可以输出代码 console.log(f);

②匿名函数

var aa = function(a,b){

    console.log(a);

    console.log(b);

    console.log("匿名函数执行啦");

}

console.log(aa);

调用 变量名+()

aa(10,"aaa");

命名函数也可以进行命名,即

var cc = function f(a,b){

    console.log(a);

    console.log(b);

    console.log("函数执行啦");

}

此时如果调用这个该函数应当写为cc(10,"aaa");

为什么函数属于复合类型呢?

它和数组对象的定义类型相似

数组里的函数

var a = [10,30.5,"hhh",'aaa',true,undefined,null,[10,50.6,'add'],{

    name:"梨花",

    age:10

},

    function f(a,b){

        console.log(a),

        console.log(b),

        console.log("数组里的命名函数")

    },

    function(a,b){

        console.log(a),

        console.log(b),

        console.log("数组里的匿名函数")

    }

]

console.log(a)

console.log(a[9])//输出函数代码

console.log(a[10])

a[9]()//调用函数

对象里的函数

var obj = {

    name:"小丽",

    age:28,

    play:["篮球","足球"],

    husband:{

        name:"张三",

        age:30

    },

    children:[{

        name:"lili",

        age:14

    } , {

        mame:"nana",

        age:10

    }

        ],

    eat:function f(a,b){

        console.log(a)

        console.log(b)

        console.log("对象里的命名函数")

    },

    run: function(a,b){

        console.log(a)

        console.log(b)

        console.log("对象里的匿名函数")

    }

}

console.log(obj)

console.log(obj.eat)//查看函数代码

obj.eat();//调用函数

console.log(obj.run)

obj.run()

函数调用与交互相关

console.log(window.document) = console.log(document)

console.log(document)//作为文档打印

console.dir(document)//作为对象打印

例子:

console.log(document)

document.ondblclick = function(){

    alert(1)

}

onclick 单击

ondblclick 双击

onmouseenter 鼠标放上去

onmouseleave 鼠标离开触发

如何绑定多个操作?

console.log(aa) //打印的是函数

console(aa()) //打印的是函数执行完的结果

例子:

var aa = function(){

    console.log(a)

    console.log(b)

    alert(1)

    return "demo"

}

document.onclick = aa

如果传参数该如何表示呢?

document.onclick = function(){

    a(10,11)

}

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值