JAVASCRIPT入门 之 面向对象+匿名函数

/*
            JS字符串转移符: \t    \n    \'   \"   \\
            \t : 制表符
            \n : 换行符
            \' : 在字符串中输出  单引号
            \" : 在字符串中输出  双引号
            \\ : 在字符串中显示  单斜杠
            JS数据类型
            基本数据类型: Boolean  布尔     Number  数字      Stirng  字符串      Undefined   未定义     Null  空对象   
            引用数据类型: Object 对象类型
            JS中 可以动态的给一个对象或应用类型添加属性,但不可以给基本数据类型添加属性,实例一、实例二
            JS中 == 和 === 的区别,实例三
                 ==     是只判断 " 值 "
                 ===    先判断类型是否一致,然后判断值
        */
// 实例一、错误的添加属性
var s = "ni hao a";
s.content = "wo bu hao!";
console.log(s.content);// 结果:undefined
// 实例二、正确的添加属性
var obj = new Object();
obj.content = "obj的内容"
console.log(obj.content) // 结果:obj的内容
//实例三
var a = 123;
var b = "123";
if (a == b) {
    console.log("a和b是相等的......");
} else {
    console.log("a和b是不相等的......");
}//运行结果: a和b是相等的......       


if (a === b) {
    console.log("a和b是相等的......");
} else {
    console.log("a和b是不相等的......");
}//运行结果:a和b是不相等的......





/*
    JS匿名函数:不给方法名字的方法就是匿名函数        
*/
//第一种写法
var fi = function (a, b) { return a + b; };//类似于C#中的委托
fi(1, 2);
//应用 document.getElementById("con").click = function () { };        
//第二种写法
(function (a, b) {
    var c = a + b;
    alert(c);
})(1, 2);
//第三种写法(这种形式的匿名函数执行速度最慢,因为需要解析字符串,所以不推荐使用)
var fi = new Function("a", "return a+10");
alert(fi(5));//执行结果15







/*
    JS面向对象 1
    函数==类
    对象:首字母大写
    方法:首字母大写
*/
function Person() {
};
// new 对象
var a = new Person();
//动态添加属性
a.name = "张三";
a.age = 18;
a.sex = "男";
//动态添加方法
a.seaHi = function () {
    alert("我的名字叫" + a.name + ",我现在的年龄" + a.age + "岁");
}
alert(a.name);
a.seaHi();
/*
    JS面向对象 2
    闭包形式的面向对象
    一个函数内部嵌套一个函数叫闭包,在内部函数可以使用外部函数的变量
    function B(c_name,c_age){ } 可以看做是声明的构造函数, name、age 是动态添加的属性
    var b = new B("张三", 22);
    调用时 new 不能丢弃,否则就变成调用函数了, new相当于创建了函数的一个实例            
*/
function Person(c_name, c_age) {
    this.name = c_name;
    this.age = c_age;
    this.sex = "男";
    this.seaHi = function () {
        alert("我叫" + this.name + ",性别" + this.sex + ",今年" + this.age + "岁");
    };
}
var b = new Person("张三", 22);
alert(b.name);
b.seaHi();


// JS中arguments的应用(arguments: 参数集合), 实例四:
function add(number) {
    alert(number); //运行结果
    alert(arguments.length);//运行结果 4
}
add(1, 2, 3, 4);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值