/*
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);
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);