一、编程思想
用代码的方式去做类似于生活中做的事情;
面向过程:需要亲力亲为,每件事的具体过程都要知道,注重过程;
面向对象:根据需求找对象,所有的事情由对象去完成,注重的是结果;
js 不是面向对象的语言,但是可以模拟面向对象的思想;js 是一门基于对象的语言。
二、创建对象的三种方式
1、调用系统构造函数创建对象;
<script>
var obj = new Object();
//添加属性
obj.name = "小米";
obj.age = "18";
obj.sex = "女";
//添加方法
obj.play = function () {
console.log("王者荣耀")
};
obj.cook = function () {
console.log("蛋炒饭")
};
//调用属性
console.log(obj.name);
console.log(obj.age);
console.log(obj.sex);
//调用方法
obj.play();
obj.cook();
</script>
2、自定义构造函数创建对象(结合第一种和需求通过工厂模式创建对象);
<script>
function createObj(name, age) {
var obj = new Object();
obj.name = name;
obj.age = age;
obj.message = function () {
console.log("我叫:" + this.name + " 我的年龄是:" + this.age + "岁")
};
return obj;
}
var per1 = createObj("小米", 16);
per1.message();
var per2 = createObj("华为", 19);
per2.message();
</script>
3、字面量的方式创建对象。
三、JSON 格式数据遍历
1、从 json 中获取数据 也就是 value
<script>
var json = {
"name": "小明",
"age": 18,
"school": "河北科技大学"
};
console.log(json.name);
console.log(json["name"]);
</script>
2、Json 遍历 使用 for - in 循环
<script>
var json = {
"name": "小明",
"age": 18,
"school": "河北科技大学"
};
for (var key in json) {
console.log(key);
console.log(json[key])
}
</script>
四、简单类型和复杂类型
1、原生数据类型
number、String、boolean、undefined、null、Object
2、基本类型(简单类型),值类型
number、String、boolean
传递的是值
3、复杂类型(引用类型)
Object
传递的是地址
4、空类型
undefined、null
五、Js 的三种对象
1、内置对象;
Math
Math.PI:3.1415926
Math.abs(num):绝对值
Math.ceil() :向上取整
Math.floor():向下取整
Math.max() : 输出一列数据内的最大值
Math.min(); 输出一列数据内的最小值;
Math.pow(2,3); 一个数据的多少次幂 2 的 3 次幂
Math.random(); 输出一个伪随机数
Date
var date = new Date(): 不传参显示的是当前当地的标准时间;
Date.new(): 表示当前时间戳 毫秒值
获取年
console.log(date.getFullYear());
获取月
console.log(date.getMonth() + 1);
获取日
console.log(date.getDate());
获取时
console.log(date.getHours());
获取分
console.log(date.getMinutes());
获取秒
console.log(date.getSeconds());
获取星期几
console.log(date.getDay());
String
字符串具有不可变性;
字符串可以看作为字符数组;
String.charAt(10) :取出指定索引的字符,从0开始计数;
String.concat("小米", "华为", "ov") : 将多个字符串进行拼接;
String.slice(2,4) : 截取指定索引的字符串;
String.replace("k","000") : 将第一个指定字符,替换为 指定字符;
String.split("k") : 将指定字符串 按照某个字符拆分为一个数组;
String.substr(2,2) : 从指定索引开始 截取指定长度 的字符串
String.substring(2,6) : 截取两个索引之间的字符串;
String.indexOf("k") : 从指定字符串首位开始,获取指定字符的 索引;
String.lastIndexOf("k") :从指定字符串尾部开始,获取指定字符的 索引;
Array
var array = new Array(); 创建数组
var array = []; 创建数组
Array.isArray(array); 判断对象是不是一个数组
array.concat(array1, array2); 合并多个数组
array.every(function (a, b, c) {
console.log("a:"+a+" b: "+b+" c:"+c)
}); 测试一个数组 a:元素值,b:元素值索引,c:谁调用了这个方法 返回值为 布尔类型
array.push() : 将数据添加到数组末尾;
array.pop() : 删除数组最后一个数据;
array.shift() : 删除数组第一个数据;
array.unShift : 在数组首元素前 添加一个数据;
array.forEach(function (a,b) {
console.log(a+"........"+b)
}) :遍历数组 参数 a 为 数据,参数 b 为 数据索引
array.join() : 向数组内添加指定的分隔符;
array.map() :数组内每个元素都执行该函数,并且生成新的集合。
array.reverse() : 数组内数据翻转;
array.sort() : 数据排序