程序员书籍笔记 程序员书籍笔记
  • HTML
  • CSS
  • JavaScript
  • 前端知识
  • Vue
  • MarkDown
  • git
  • Node.js
  • Linux
  • 51单片机
  • 四级
  • 第一学期课程
  • 操作系统
  • 计算机网络
  • 数据结构
  • 计算机组成原理
  • HTML5
  • Electron
  • 日记便签
  • 前端导航
GitHub (opens new window)
  • HTML
  • CSS
  • JavaScript
  • 前端知识
  • Vue
  • MarkDown
  • git
  • Node.js
  • Linux
  • 51单片机
  • 四级
  • 第一学期课程
  • 操作系统
  • 计算机网络
  • 数据结构
  • 计算机组成原理
  • HTML5
  • Electron
  • 日记便签
  • 前端导航
GitHub (opens new window)
  • HTML

  • CSS

  • JavaScript

    • es6

      • es6基础
      • es5的扩展
      • let和const命令
    • 基础
    • 运算符和数组
    • 函数
    • 对象和类型
      • 对象
        • 创建对象
        • 构造函数和对象的区别
        • 遍历对象
      • 内置对象
        • Math
        • Math.random
        • Date
        • 日期格式化
        • 时间戳
        • 倒计时案例
        • Array
        • 检测数组
        • 数组添加和删除元素
        • 数组元素索引
        • 数组转换字符串
        • 其它数组方法
      • 基本包装类型
      • 字符串
        • 根据位置返回字符
        • 根据字符返回位置
        • 替换字符和转换数组
        • 其它字符串操作方法
    • 数据类型
    • js接口
    • DOM案例
    • 节点操作
    • BOM接口
    • 页面操作
    • 动画和轮播图
    • 本地存储
    • js面向对象
    • es6
    • ES6
    • js面向对象1
    • js面向对象2
    • js面向对象3
  • GO

  • 正则表达式

  • java

  • TypeScript

  • react

  • 前端知识

  • jQuery

  • Python

  • C和C++

  • 前端和后端
  • JavaScript
yuadh
2021-09-16
目录

对象和类型

# 对象

在 JavaScript , 对象是一组无序的相关属性和方法的集合。

对象是由属性和方法组成的

  • 属性:事物的特征,在对象中用属性来表示
  • 方法:事物的行为,在对象中用方法来表示

# 创建对象

  1. 利用对象自变量创建变量

    var obj = {};

    var obj = {
    	uname: 'yuadh',
    	age: 18,
    	sex: 'man',
    	sayHi: function(){
    		console.log('hi');
    	}
    }
    
    1
    2
    3
    4
    5
    6
    7
    8

    调用属性

    • 对象名.属性名
    • 对象名['属性名']
  2. new Object

    var obj = new Object();
    obj.name = "yuadh";
    obj.age = 18;
    
    1
    2
    3
  3. 构造函数

    是一种特殊的函数,主要用来初始化对象,即对象成员赋值初值,它总与 new 运算符一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到整个函数里面

    function Star(uname,age,sex){
    	this.name = uname;
    	this.age = age;
    	this.sex = sex;
    }
    var yuadh = new Start('yuadh',18,'man');
    
    1
    2
    3
    4
    5
    6

    注意 :

    • 构造函数名字首字母要大写
    • 构造函数不需要return
    • 调用构造函数 必须使用 new

    使用和普通方法一致

    console.log(yuadh.name);
    console.log(yuadh['age']);
    
    1
    2

# 构造函数和对象的区别

像 java 的 类 和对象的区别

利用构造函数创建对象的过程称为 对象的实例化

# 遍历对象

var obj = {
	name: 'yuadh',
	age: 18,
	sex= 'man',
	fu: function(){}
}
for (var k in obj) {
	console.log(k);//k 变量 输出 得到的是 属性名
    console.log(obj[k]);// obj[k] 得到的是 属性值
}
1
2
3
4
5
6
7
8
9
10

for... in 对象遍历

# 内置对象

内置对象是指 js 语言自带的一些对象 , 这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能

如: Math Date Array String

# Math

  • Math.PI 圆周率
  • Math.max() 求最大值
  • Math.abs() 求绝对值
  • Math.floor() 向下取整
  • Math.ceil() 向上取整
  • Math.round() 四舍五入取整(.5按大的取)

更多查看 MDN 文档

# Math.random

random() 函数得到的是 [0,1) 的随机小数

查阅文档获取区间的随机数

function getRandom(min,max){
	return Math.floor(Math.random()*(max-min+1))+1;
}
1
2
3

# Date

Date() 是构造函数 需要实例化 var Date = new Date();

三种创建方法

  • var dete = new Date();
  • var date = new Date(2019,10,1);//此创建方法
  • var date = new Date('2019-10-1 8:8:8');

# 日期格式化

方法名 说明 代码
getFullYear() 获取当年 date.getFullYear()
getMonth() 获取当月 date.getMonth()
getDate() 获取当天日期 date.getDate()
getDay() 获取星期几 date.getDay()
getHours() 获取当前小时 date.getHours()
getMinutes() 获取当前分钟 date.getMinutes()
getSeconds() 获取当前秒钟 date.getSeconds()

# 时间戳

valueOf() getTime()

距离 1970-1-1 日的总毫秒数

console.log(date.valueOf());
console.log(date.getTime());
1
2

var date = +new Date(); Date.now();

console.log(date);
console.log(Date.now());
1
2

# 倒计时案例

function countDown(time){
    var nowTime = +new Date();//当前时间总毫秒数
    var inputTime = +new Date();//用户输入的时间总毫秒数
    var times = (inputTime-nowTime)/1000; //转换为秒数
    var d = parseInt(times/60/60/24);
    d = d<10? '0'+d:d;
    var h = parseInt(times/60/60%24);
    h = h<10? '0'+h:h;
    var m = parseInt(times/60/60%);
   	m = m<10? '0'+m:m;                  
    var s = parseInt(time%60);
    s = s<10? '0'+s:s;
}
1
2
3
4
5
6
7
8
9
10
11
12
13

# Array

创建的两种方式

  • var arr = [1,2,3];
  • var arr = new Array(2,3); 只写一个num是表示数组的长度

翻转数组

arr.reverse();

冒泡排序

arr.sort(); //此方法只会根据数字的第一个数排序

正确使用方法

var arr = [13,4,77,1,7];
arr.sort(function(a,b){
	return a-b;//返回值sort方法会根据升序排序
	or
	return b-1;//返回值sort方法会根据降序排序
});
1
2
3
4
5
6

# 检测数组

  1. instanceof 类型

    console.log(arr instanceof Array);

    if (arr instanceof Array){...}
    
    1
  2. Array.isArray(arr)

    H5新增

# 数组添加和删除元素

方法名 说明 返回值
push(x1,x2...) 末尾添加一个或多个元素,注意修改原数组 返回新的长度
pop() 删除数组最后一个元素,把数组长度减1 返回删除的元素值
unshift(x1,x2...) 向数组的开头添加一个或更多元素,注意修改原数组 返回新的长度
shift() 删除数组的第一个元素,数组长度减1 返回删除的元素值

# 数组元素索引

indexOf(e) lastIndexOf(e)

返回数组元素索引号方法,作用是返回该数组元素的索引号

找不到元素返回值 -1

//使用
str.indexOf('y');
str.indexOf('y',3);//从索引第3个元素开始,从开头开始查找
str.lastIndexOf('y');
str.lastIndexOf('y',3);//从索引倒数第三个元素开始,从后开始查找
1
2
3
4
5

# 数组转换字符串

方法名 说明 返回值
toString() 把数组转换为字符串,逗号分隔每一项 字符串
join('分隔符') 方法用于把数组中的所有元素转换为一个字符串 字符串

# 其它数组方法

方法名 说明 返回值
concat() 连接两个或多个数组 不影响原数组 返回一个新的数组
slice() 数组截取slice (begin,end) 返回被截取项目的新数组
splice() 数组删除splice ,第几个开始要删除的个数 返回被删除项目的新数组,会影响原数组

# 基本包装类型

为了方便操作基本数据类型,JavaScript 提供了三个特殊的引用类型 String Number Boolean

基本包装类型就是把简单数据类型包装成为复杂数据类型,这样基本数据类型就有了属性和方法

var str = 'yuadh';
//过程
var temp = new String('yuadh');
str = temp;
temp = null;
1
2
3
4
5

# 字符串

给字符串赋新值 会新开辟内存空间 旧的值会依旧在内存中

var str = '';
for (var i=0;i<1000000;i++){
	str+= i;
}
console.log(str);
//会占用大量的内存空间 少用字符串拼接
1
2
3
4
5
6

# 根据位置返回字符

方法名 说明 使用
charAt(index) 返回指定位置的字符 str.charAt(0)
charCodeAt(index) 获取指定位置除字符的ASCLL码 str.charCodeAt(0)
str[index] 获取指定位置处字符 str[0]

# 根据字符返回位置

方法名 说明
indxOf('x',num) 返回指定内容在元字符串中的位置,如果找不到返回-1
lastIndexOf() 从后往前找

计算字符串中出现最多的字符

var str = 'abcoefoxyozzopp';
var o = {};
for (var i=0;i<str.length;i++){
    var chars = str.charAt(i);
    if(o[chars]){
       o[chars]++;
    }else {
        o[chars]=1;
    }
}
var max = 0; var ch = '';
for (var k in o){
    if(o[k] > max){
      max=o[k];
      ch = k;
    }
}
console.log(max);
console.log(ch);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 替换字符和转换数组

方法名 说明
replace('x','y); 将需要替换的字符x替换成字符y
split('x') 将字符串根据分割符x转换为数组

# 其它字符串操作方法

方法名 说明
concat(str1,str2) concat()方法用于连接两个或多个字符串
substr(start,length) 从start位置开始,取length个字符
slice(start,end) 从start位置开始,截取到end位置
substring(start,end) 从start位置开始,截取到end位置,作用和slice()相同但是不接受负值
编辑 (opens new window)
上次更新: 2023/02/07, 14:51:48
函数
数据类型

← 函数 数据类型→

Theme by Vdoing | Copyright © 2021-2023 yuadh
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×