当前位置: 首页 > news >正文

HTML内置对象

目录

前言:

一、基本对象Object:

二、内置对象之Array:

三、内置对象之Math:

四、内置对象之Number:

 五、内置对象之String:

 六、内置对象之Date:

七、内置对象之JSON(ES5新增内置对象)

          结束语


前言:

JS的对象就是Object,还有独立于宿主环境的ECMAScript实现提供的内置对象:Array,String,Date,Math

一、基本对象Object:

JS里有一句话叫万物皆对象(除了基本数据类型),对象就是属性的无序集合。数组是有序集合。

创建对象的方法:

  • 直接量(也叫字面量)
  • 属性(对象的静态体征)
  • 方法(对象的动态行为)
  • 一个属性属性名结束后用,逗号隔开。
var stu = {//name与age属于静态体征name: '小明',age: 13,//study与eat属于动态行为study: function(course) {console.log('学习:' + course)},eat: function(pig) {console.log('吃:' + apple)}
  • 通过构造函数创建
  • 方法:var person = new 函数名();
  • 通过该方法创建对象时,会自动执行该构造函数 

        例如: 

//构造函数的函数名首字母大写,区分与普通函数的区别,不是强制规定的,你也可以小写。
function Person(name, sex) {this.name = name;this.sex = sex,this.job = function() {alert(this.name)}
}
var child = new Person('Lihua', '男');
Person.job();
//此代码一共会两次跳出对话框,因为创建对象时会自动执行构造函数一次。this指的是调用函数的对象。
  • 通过new Object()创建
  • 方法:通过object构造器new一个对象,在丰富对象信息 
var person = new Object();
person.name = 'nanpengyou';
person.sex = 'boy';
  • 工厂方式:
function createboyFriend(name, age) {let bF = new Object();bF.name = kaisa;bF.age = 23;bF.life = function() {console.log(this.name + " 恋爱...");}return bF;
}
  • 构造函数 + prototype
  • prototype: 原型对象
  • 对象共享资源
  • _proto_:原型属性
  • prototype:默认每个函数对象都有prototype属性,显式属性
  • _proto_:默认每个对象都有 _proto_ 属性,该属性默认指向创建对应对象的构造函数中的 prototype:隐式属性
  • JS中的对象都是基于原型的对象。

对象属性调用:

  • 对象名.属性名
  • 对象名.方法名(参数列表)
  • 对象名[‘属性名’]
  • 对象名[‘方法名’](参数列表) 

先在自身空间中查找,如果有则直接使用,如果没有,则到原型中查找;如果原型中存在,则调用使用,如果原型中不存在,则继续到原型的原型(原型链)中查找,依此方式继续查找使用,如果一直不存在,会继续向原型链中查找,直到 Object.prototype(原型链终点)中。如果原型链中不存在待调用的属性,则返回 undefined

二、内置对象之Array:

1.数组对象

数组对象是一个有序的数据(数据可以是原始类型或对象类型)集合。相对于变量,数组可用于在一个变量中存储多个变量值。

1.1数组对象的创建

1.利用数组字面量方式

var arr = [0,1,2,3,4,5,6,7,8,9];

2.利用new Array()

var arr1 = new Array(); //创建一个空的数组
var arr2 = new Array(10); //创建一个长度为10的空数组,里边有10个空的数组元素
var arr3 = new Array(0,1,2,3,4,5,6,7,8,9);//创建一个数组,里边10个元素0-9;

1.2 检测是否为数组

  • instanceof运算符,可以判断一个对象是否属于某种类型;
  • Array.isArray() 用于判断一个对象是否为数组,isArray() 是HTML5中提供的方法 
var arr = [0,1,2,3,4,5,6,7,8,9];
var obj = {};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false
console.log(Array.isArray(arr));  // true
console.log(Array.isArray(obj));  // fals

 1.3添加删除数组元素方法

		// (1).push() 在我们数组的末尾,添加一个或者多个数组元素,pushvar arr = [1,2,3];//输出的是数组的长度console.log(arr.push(56,78)); //  5//添加过后的数组console.log('push   '+arr);  // push   1,2,3,56,78// 1.push是可以给数组追加新的元素// 2.push()参数直接写数组元素就可以了// 3.push完毕之后 返回的结果是新数组的长度// 4.原数组也会发生变化// (2).unshift()在数组的开头添加一个或多个数组元素//返回的是数组的长度console.log(arr.unshift('red','green')); // 7//在数组前边添加后的新数组console.log('unshift   '+arr); //unshift   red,green,1,2,3,56,78// 1.unshift 是可以给数组前面追加新的数组// unshift() 参数直接写数组元素就可以了// unshift完毕之后返回的结果是新数组的长度// 原数组也会发生变化// (3).pop() 他可以删除数组的最后一个元素//返回的结果是删除的那个元素console.log(arr.pop());  //78//打印删除后的数组console.log(arr);//(6) ["red", "green", 1, 2, 3, 56]// pop是可以删除数组的最后一个元素,记住一次只能删除一个元素// pop()没有参数// pop完毕之后,返回的结果是删除的那个元素// 原数组也会发生变化// (4).shift() 他可以删除数组第一个元素,console.log(arr.shift()); //redconsole.log(arr); //(5) ["green", 1, 2, 3, 56]// shift是可以删除数组的第一个元素,记住只能删除一个元素// shift() 没有参数// shift完毕之后,返回的结果是删除的那个元素// 原数组也会发生变化

1.4 数组排序

1.reverse() 反转数组,无参数,该方法会改变原来的数组,返回新数组

var arr = [1,5,10,8,4,2];
console.log(arr.reverse());//[2,4.8,10,5,1]

 2.sort() 数组排序 ,和冒泡排序类似

		var arr = [1,5,10,8,4,2];arr.sort(function(a,b){return a - b;   //升序//return b - a; //降序});console.log(arr); //[1,2,4,5,8,10]    

1.5数组索引方法

  • indexOf() 数组中查找给定元素的第一个索引 ,如果存在返回索引号,如果不存在,返回-1;
  • lastindexOf() 在数组中的最后一个索引, 如果存在返回索引号,如果不存在则返回-1;
		// 返回数组的索引号方法,indexOf(数组元素),作用就是返回该元素的索引号,从前面开始查找// 他只返回第一个满足条件的索引号// 他如果在该数组里面找不到元素,则返回-1var arr = ['red','blue','green','pink','blue'];console.log(arr.indexOf('blue'));//数组里边有两个blue,只返回第一个的索引值var arr1 = ['red','green','pink']; console.log(arr1.indexOf('blue'));//数组里边没有blue,返回-1//返回数组元素的索引号的方法,lastIndexOf(数组元素),作用就是返回数组元素的索引号 从后面开始查找var arr2 = ['red','blue','green','pink','blue'];console.log(arr2.lastIndexOf('blue'));//里边有两个blue,只返回到煮数第一个索引

 根据数组索引来给数组元素去重

 		var arr = [1,2,3,3,3,5,1,6,2,4]var newArr = [];for (var i = 0; i < arr.length; i++) {if (newArr.indexOf(arr[i]) == -1) {newArr[newArr.length] = arr[i];}}console.log(newArr);//(6) [1, 2, 3, 5, 6, 4]

 1.6数组转换为字符串

  • toString() 把数组转换成字符串,逗号分隔每一项,返回一个字符串;
  • join(‘分隔符’) 用于把数组中的所有元素转换为一个字符串,返回一个字符串;
		var arr = [0,1,2,3,4,5,6,7,8,9];// toString 把数组转换为字符串,逗号分隔每一项   返回一个字符串console.log(arr.toString()); //"0,1,2,3,4,5,6,7,8,9"// join  方法用于把数组中的所有元素转换为一个字符串,,返回一个字符串console.log(arr.join('#')); //"0#1#2#3#4#5#6#7#8#9"console.log(arr.join('-')); //"0-1-2-3-4-5-6-7-8-9"

1.7concat()和slice() 和splice()方法

  • concat() 连接两个或多个数组,不影响原数组,返回一个新的数组;
  • slice() 数组截取slice(start,end) 返回被截取的新数组;
  • splice() 数组删除splice(第几个开始,要删除的个数),返回被删除元素的新数组,会影响原数组;
		var arr = ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'];var arr1 = [1,2,3,4,5,6];// 1.concat 方法,合并两个数组  返回一个新数组//合并过后的数组console.log(arr.concat(arr1));//打印结果 (15) ["c", "a", "z", "a", "x", "a", "x", "c", "b", 1, 2, 3, 4, 5, 6]console.log(arr);//原数组没变//打印结果(9) ["c", "a", "z", "a", "x", "a", "x", "c", "b"]// 2.slice 方法,数组截取 slice(start,end); 返回被截取项目的新数组//start 和 end 是截取数组的索引值 不包含end那一个console.log(arr.slice(0,4)); //截取的数组 (4) ["c", "a", "z", "a"]console.log(arr);//原数组没变//打印结果(9) ["c", "a", "z", "a", "x", "a", "x", "c", "b"]// 3. splice() 数组删除splice(第几个开始,第几个结束),返回被删除项目的新数组,这个会影响原数组console.log(arr.splice(2,5));//(5) ["z", "a", "x", "a", "x"]console.log(arr);//影响原数组,结果为,截取后剩下的数组//原数组变为(4) ["c", "a", "c", "b"]

三、内置对象之Math:

作用: 用来处理数字数据。
定义对象: 

var num = 10;
var num = new Number(10);

 API:

  • Math.random()
    生成一个0~1之间的随机小数
    如果要生成0-54之间的随机整数
  • Math.floor(num)
    将num向下取整,取小于等于num的最大整数
Math.floor(9.1)		//9 
Math.floor(9.999)	//9
  • Math.ceil(num)
    将num向上取整数,取大于等于num的最小整数,
  • Math.round(num)
    将num四舍五入取整数
  • Math.pow(x, y)
    求 x 的 y 次方
  • Math.sqrt(x)
    求x的开方:
  • Math.trunc()
  • 用于去除一个数的小数部分,返回整数部分。对于非数值它会内部调用Number方法先将其转换为数值
  • Math.sign()方法判断一个数是正数、负数、零或者NaN。对于非数值,会将其转换为数值。他会返回五种值:
  1. 参数为正数,返回+1;
  2. 参数为负数,返回-1;
  3. 参数为 0,返回0;
  4. 参数为-0,返回-0;
  5. 其他值,返回NaN。

四、内置对象之Number:

API:
方法

  • isFinite() - - 检测是否是有限的数字,即不是Infinity。如果参数不是数字直接返回false。
  • isNaN() - - 判断参数是不是NaN。
  • parseInt() - - 将字符串转为整数【有容错能力】
  • parseFloat() - - 将字符串转为浮点数【有容错能力】 

 有容错能力的意思就是允许后面有非数字的内容。会将前面是数字的内容进行转换。无容错能力就是不会转换

  • Number() - - 将字符串转为数字。【无容错能力,遇到不是数字的话就会返回NaN】
  • isInteger() - - 用来判断一个数值是否是整数。【如果数字超过了小数点后面的十六个进制则会判断失误因为超过的被遗弃了。或者绝对值小于js能判断的最小值也会失误被转为0】

 五、内置对象之String:

作用: 处理文本数据
定义对象: 

方法1:var str = "hello";				//string
方法2:var str = new String("hello");	//object
方式3:var str = String("hello");		//string

1.字符串的属性:

length: 表示字符串的长度

var str = "hello";
console.log(str.length); //此时返回值为 4

 2.字符串的常用方法:

1、str.charAt();获取指定位置的字符 

var str = "hello";
console.log(str.charAt(0)); //获取下标为0的字符

 2、str.charCodeAt();获取指定位置字符的ASCII码

var str = "hello";
console.log(str.charCodeAt(0)); //获取下标为0的字符的ASCII码

 3、String.charCodeAt();ASCII码转换成字符,可传入多个参数

console.log(String.fromCharCode(104)); //返回ASCII码为104的字符

 4、str.concat(); 连接字符串

var str1 = "hello";
var str2 = str.concat("world");
console.log(str2); //此时str2为 helloworld;

 5、str.indexOf(); 查找字符串第一次出现的位置, 如果没找到则返回-1

var str = "helloworld";
var a = str.indexOf("l",3); //查找l第一次出现的位置,从第3位开始查找
console.log(a);

6、str.lastIndexOf(“abc”); 查找字符串最后一次出现的位置, 如果没找到则返回-1

var str = "helloworld";
var a = str.lastIndexOf("l",3); //查找l最后一次出现的位置,从第3位开始查找
console.log(a);这里插入代码片

7、str.search(); 正则匹配 (返回第一次出现的位置)

var str = "helloworld";
var a = str.searth("o"); //查找o第一次出现的位置
console.log(a);

8、str.replace(); 替换字符串

var str = "How are you?";
str = str.replace("are","old are");
console.log(str); //此时str为 How old are you?

9、str.substring(start,end); 截取字符串 范围是[start, end),如果只有一个参数, 则表示到字符串最后

var str = "hello world";
console.log(str.substring(0,5)); //截取到的是hello

10、str.split(separator, howmany); 根据分隔符、拆分成数组,separator(字符串或正则表达式),howmany(可以指定返回的数组的最大长度, 可以省略)

var str = "How-old-are-you?";
var astr = str.split("-",3);
console.log(astr); //结果为["How", "old", "are"]

11、str.toLowerCase(); 把字符串转换成小写

var str = "ABCDabcd";
console.log(str.toLowerCase()); //结果为 abcdabcd

12、str.toUpperCase(); 把字符串转换成大写

var str = "ABCDabcd";
console.log(str.toUpperCase()); //结果为 ABCDABCD
  • trim() - - 去掉前后空白
  • trimStart() - - 去除头部空白
  • trimLeft() - - 去除头部空白【trimStart的别名】
  • trimEnd() - - 去除尾部空白
  • trimRight() - - 去除尾部空白【trimEnd的别名】
  • repeat - - 返回一个新字符串,表示将原字符串重复N次。
  • padStart - - 用于头部补全
  • padEnd - - 用于尾部补全
  • replace(/^\s+|\s+$/g, ‘’) - - 去掉前后空白的兼容写法
  • includes(sub) - - 返回布尔值,表示是否找到了参数字符串。
  • startsWith(sub) - - 返回布尔值,表示参数字符串是否在原字符串的头部。
  • endsWith(sub) - - 返回布尔值,表示参数字符串是否在原字符串的尾部。

从下图可以看到这三个方法都会将数据类型进行隐式转换。

       

 六、内置对象之Date:

创建一个新Date对象

let now = new Date();

语法

new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex, day, hours, minutes, seconds, milliseconds);
  • year:表示年份的整数值。 0到99会被映射至1900年至1999年,其它值代表实际年份。
  • monthIndex:是从“0”开始计算的,这就意味着一月份为“0”,十二月份为“11”
  • 当Date作为构造函数调用并传入多个参数时,如果数值大于合理范围时(如月份为 13 或者分钟数为 70),相邻的数值会被调整。比如 new Date(2013, 13, 1)等于new Date(2014, 1, 1),它们都表示日期2014-02-01(注意月份是从0开始的)
  • 如果提供了至少两个参数,day默认是1
  • 以一个函数的形式来调用 Date 对象(即不使用 new 操作符)会返回一个代表当前日期和时间的字符串。
Date()
"Sat Nov 23 2019 10:15:03 GMT+0800 (中国标准时间)"===new Date()
Sat Nov 23 2019 10:15:09 GMT+0800 (中国标准时间)
  • Date.UTC(year, monthIndex, day, hours, minutes, seconds, milliseconds) 方法接受的参数同日期构造函数接受最多参数时一样,返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数。
  •  Date.now() 方法返回自1970年1月1日 00:00:00 UTC到当前时间的毫秒数。
  • Date.parse() 方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为NaN。

​Date.UTC(1970, 0, 1, 0, 0, 3) // 3000
​Date.now() // 1574475446412
Date.parse("Aug 9, 1995")

以下是Date.prototype原型中的方法

  • getFullYear():根据本地时间,返回指定日期的年份,此方法替代 getYear() 。
  • getMonth:根据本地时间,返回一个指定的日期对象的月份,为基于0的值(0表示一年中的第一月)。
  • getDate():根据本地时间,返回一个指定的日期对象为一个月中的哪一日(从1--31)。 
  • getHours():根据本地时间,返回一个指定的日期对象的小时。
  • getMinutes():根据本地时间,返回一个指定的日期对象的分钟数。
  • getSeconds():根据本地时间,返回一个指定的日期对象的秒数。
  • getMilliseconds() : 根据本地时间,返回一个指定的日期对象的毫秒数,返回一个0 到 999的整数。
  • getDay():根据本地时间,返回一个具体日期中一周的第几天,0 表示星期天。
  • getTime:的返回值一个数值,表示从1970年1月1日0时0分0秒(UTC,即协调世界时)距离该日期对象所代表时间的毫秒数。
  • getTimezoneOffset():方法返回协调世界时(UTC)相对于当前时区的时间差值,单位为分钟。如果本地时区晚于协调世界时,则该差值为正值,如果早于协调世界时则为负值。例如你所在时区为 UTC+10(澳大利亚东部标准时间),将会返回 -600
new Date().getFullYear() // 2019
new Date('Sat Nov 23 2019 12:20:08 GMT+0800 (中国标准时间)').getMonth() // 10
new Date('Sat Nov 23 2019').getDate() // 23
new Date('10 17, 03:16:00').getHours() // 3
new Date('0, 03:12').getMinutes() // 12
new Date('011111, 03:12:1').getSeconds() // 1
new Date().getMilliseconds() // 202
new Date('August 19, 1975 23:15:30').getDay() // 2
new Date('Thu Jan 01 1970 00:00:00 GMT+0000').getTime() // 0
new Date().getTimezoneOffset() // -480

 getTime测量代码执行时间

var end, start, i;start = new Date();
for (i = 0; i < 1000; i++) {Math.sqrt(i);
}
end = new Date();console.log("Operation took " + (end.getTime() - start.getTime()) + " msec");
  •  setFullYear(yearValue, monthValue, dayValue)方法根据本地时间为一个日期对象设置年份。
  • setMonth(monthValue, dayValue)方法根据本地时间为一个设置年份的日期对象设置月份。
  • setDate(dayValue)方法根据本地时间来指定一个日期对象的天数。一个整数,表示该月的第几天。如果为 dayValue 指定0,那么日期就会被设置为上个月的最后一天。
  • setHours(hoursValue, minutesValue, secondsValue, msValue)方法根据本地时间为一个日期对象设置小时数,返回从1970-01-01 00:00:00 UTC 到更新后的日期对象实例所表示时间的毫秒数。
  • 如果dayValue被设置为负数,日期会设置为上个月最后一天往前数这个负数绝对值天数后的日期。-1会设置为上月最后一天的前一天(例如当前为4月,如果setDate(-2),则为3月29日)
  • setMinutes(minutesValue, secondsValue, msValue)方法根据本地时间为一个日期对象设置分钟数。
  • setSeconds(secondsValue, msValue)方法根据本地时间设置一个日期对象的秒数。
  • setMilliseconds(msValue)方法会根据本地时间设置一个日期对象的豪秒数。
  • setTime()方法以一个表示从1970-1-1 00:00:00 UTC计时的毫秒数为来为Date对象设置时间。
  • monthValue:一个0到11之间的整数值,表示从一月到十二月。
  • dayValue:一个1到31之间的整数值,表示月份中的第几天。
  • msValue:一个 0 到 999 的数字,表示微秒数
  • 如果有一个参数超出了合理范围,setHours 会相应地更新日期对象中的日期信息。例如,如果为 secondsValue 指定了 100,则分钟会加 1,然后秒数使用 40。
var date = new Date('August 22, 2019 23:15:30')
// date 的值 Thu Aug 22 2019 23:15:30 GMT+0800 (中国标准时间)
date.setFullYear(2020) // date 的值 Sat Aug 22 2020 23:15:30 GMT+0800 (中国标准时间)
date.setFullYear(2020, 14, 3) // date 的值 Wed Mar 03 2021 23:15:30 GMT+0800 (中国标准时间)
date.setMonth(-1) // Thu Dec 03 2020 23:15:30 GMT+0800 (中国标准时间)=====theBigDay = new Date("July 1, 1999");
sameAsBigDay = new Date();
sameAsBigDay.setTime(theBigDay.getTime());
// sameAsBigDay => Thu Jul 01 1999 00:00:00 GMT+0800 (中国标准时间)
  •  toLocaleString() 方法返回该日期对象的字符串
  • toLocaleDateString() 方法返回该日期对象日期部分的字符串
  • toLocaleTimeString() 方法返回该日期对象时间部分的字符串
  • toString 方法总是返回一个美式英语日期格式的字符串。
  • toDateString() 方法以美式英语和人类易读的形式返回一个日期对象日期部分的字符串。
  • toTimeString() 方法以人类易读形式返回一个日期对象时间部分的字符串,该字符串以美式英语格式化。
  • toUTCString() 方法把一个日期转换为一个字符串,使用UTC时区。
  • toISOString() 方法返回一个 ISO格式的字符串: YYYY-MM-DDTHH:mm:ss.sssZ。时区总是UTC(协调世界时),加一个后缀“Z”标识。
  • toJSON() 方法返回 Date 对象的字符串形式。
  • valueOf() 方法返回以数值格式表示的一个 Date 对象的原始值,从1970年1月1日0时0分0秒(UTC,即协调世界时)到该日期对象所代表时间的毫秒数。
cnew Date(1993, 6, 28, 14, 39, 7).toLocaleString() // "1993-7-28 14:39:07"
new Date(1993, 6, 28, 14, 39, 7).toLocaleDateString() // "1993-7-28"
new Date(1993, 6, 28, 14, 39, 7).toLocaleTimeString() // "14:39:07"
new Date(1993, 6, 28, 14, 39, 7).toString() // "Wed Jul 28 1993 14:39:07 GMT+0800 (中国标准时间)"
new Date(1993, 6, 28, 14, 39, 7).toDateString() // "Wed Jul 28 1993"
new Date(1993, 6, 28, 14, 39, 7).toTimeString() // "14:39:07 GMT+0800 (中国标准时间)"
new Date(1993, 6, 28, 14, 39, 7).toUTCString() // "Wed, 28 Jul 1993 06:39:07 GMT"
new Date(1993, 6, 28, 14, 39, 7).toISOString() // "1993-07-28T06:39:07.000Z"
new Date(1993, 6, 28, 14, 39, 7).toJSON() // "1993-07-28T06:39:07.000Z"
new Date().valueOf() // 1574486342597

七、内置对象之JSON(ES5新增内置对象)

全称:
JavaScript Object Notation(JavaScript对象表示法)

作用:
用于存储和交换数据的文本格式(XML)

API:

//将JS值转换为JSON文本字符串
JSON.stringify()	
//将JSON文本字符串解析为JS值
JSON.parse()//编码
encodeURIComponent()
//解码
decodeURIComponent()

 小案例:

结束语

更多内置对象欢迎对mdn文档进行翻阅:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-35316.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

从青铜到王者的路线,6年菜鸟开发面试字节跳动Android研发岗,移动架构师成长路线

前言 今天我给大家再次分享一下&#xff0c;我最近的一些读书的感想&#xff0c;思考起来&#xff0c;确实能够给自己带来一些真实的帮助和启发&#xff0c;希望大家在平时的工作学习中&#xff0c;也能够认清楚学习的一些本质。 如果我们的学习是在不断掌握应对具体工作场景…...

在vue3中vue-router的使用

从vue2转到使用vue3&#xff0c;遇到了好多问题&#xff0c;原来使用的方法有很大不同。 1.安装vue-routernext npm install vue-routernext --save 2.创建名为“router”的文件夹&#xff0c;在创建index.js 3.编写index.js 首先引入vue-router插件&#xff0c;然后创建一个…...

js面向对象 —— 继承

二、继承 ES6之前并没有给我们提供extends继承。我们可以通过 构造函数原型对象 模拟实现继承,被称为组合继承。 2.1 、call() 调用这个函数并且修改函数运行时的this指向 ● thisArg :当前调用函数this的指向对象 ● arg1 , arg2 :传递的其他参数 2.2、借用构造函数继承父…...

Java List remove时报UnsupportedOperationException

遇到的问题&#xff1a; 解决后&#xff1a; 源代码&#xff1a; /*** 需求&#xff1a;删除字符串中的a8&#xff0c;并重新组成字符串* param args*/public static void main(String[] args) {String str "a3,a4,a5,a6,a8";String[] moIds str.split(StringPool.…...

计算结构体的大小

#include <stdio.h> struct mystruct1 { // 1字节对齐 4字节对齐 int a; // 4 4 char b; // 1 2(11) short c; // 2 2 }; int main(void)…...

ResultMap 关系映射详细使用

关于MyBatis中ResultMap的详细使用ResultMap简介使用ResultMap创建sql 模仿一对多或多对一关系创建数据库创建SpringBoot项目 导入mybatis依赖pojo---------------------------------------------------------------------------------StudentTeacherdao----------------------…...

Nacos心跳时间配置及服务快速上下线

Nacos心跳时间配置及服务快速上下线 Nacos默认心跳时间是30秒&#xff0c;不太满足正式环境需要&#xff0c;需要调整心跳时间更短&#xff0c;让线上服务上下线能快速感知. 1.修改微服务的nacos的心跳配置时间 preserved.heart.beat.interval: 1000 #该实例在客户端上报心跳…...

SpringBoot知识点总结

目录 1、SpringBoot简介及其优点 2、如何重新加载SpringBoot上的更改&#xff0c;而无需重新启动服务器&#xff1f; 3.SpringBoot中的监视器是什么以及如何监视 4.如何在SpringBoot中禁用Actuator端点安全性&#xff1f; 5.如何在自定义端口上运行SpringBoot应用程序&…...

SQL server安装时显示重启计算机失败问题解决办法

SQL server安装时显示重启计算机失败问题解决办法参考文章&#xff1a; &#xff08;1&#xff09;SQL server安装时显示重启计算机失败问题解决办法 &#xff08;2&#xff09;https://www.cnblogs.com/netflix/p/12074481.html 备忘一下。...

Linux系统编程系列(一)

系统软件属于系统的底层&#xff0c;与内核和系统核心库直接进行交互&#xff0c;系统编程则是进行系统软件的关键&#xff0c;熟悉系统编程可以重现如shell、vim、gcc等系统软件。而作为一个高级C/C编程人员&#xff0c;往往需要在底层进行多次调用&#xff0c;学习Linux系统编…...

PAT A 1133 AC代码(两种输出方式)

跑一遍序列&#xff0c;根据要求分别将结点标记存入v1、v2、v3 我二刷时用ans数组合并了v1、v2、v3&#xff0c;再进行输出会方便很多&#xff0c;不然的话需要分别考虑v1、v2、v3是否为空的情况&#xff08;原本我是那样写的&#xff0c;如果是那样写的同学要注意一下只有v2是…...

LCD驱动芯片工厂,稳定提供高抗干扰超低功耗芯片2C23适用于水电气表以及工控仪表类驱动IC

容&#xff1a; VK2C23是一个点阵式存储映射的LCD驱动器&#xff0c;可支持最大224点&#xff08;56SEGx4COM&#xff09;或者最大416点&#xff08;52SEGx8COM&#xff09;的LCD屏。单片机可通过I2C接口配置显示参数和读写显示数据&#xff0c;也可通过指令进入省电模式。其高…...

重拾React框架学习笔记总结

重拾React框架学习笔记总结 环境搭建 nvm nvm用来管理node版本。 brew install nvmnvm ls-remote // 查看所有的node可用版本 nvm list // 查看已安装node版本 nvm install 版本号 // 下载指定node版本&#xff0c;如nvm install v11.14.0 nvm use 版本号 // 使用指定版…...

numpy练习题

numpy 练习题 numpy 的array操作 1.导入numpy库 import numpy as np2.建立一个一维数组 a 初始化为[4,5,6], (1)输出a 的类型&#xff08;type&#xff09;(2)输出a的各维度的大小&#xff08;shape&#xff09;(3)输出 a的第一个元素&#xff08;值为4&#xff09; anp.ar…...

机器学习中分类与聚类的本质区别

机器学习中分类与聚类的本质区别 机器学习中有两类的大问题&#xff0c;一个是分类&#xff0c;一个是聚类。 在我们的生活中&#xff0c;我们常常没有过多的去区分这两个概念&#xff0c;觉得聚类就是分类&#xff0c;分类也差不多就是聚类&#xff0c;下面&#xff0c;我们就…...

【数组-中等】560. 和为K的子数组

【题目】 给定一个整数数组和一个整数 k&#xff0c;你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1 : 输入:nums [1,1,1], k 2 输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 说明 : 数组的长度为 [1, 20,000]。 数组中元素的范围是 [-1000, 1000] &#xff0…...

SDKD 2021 C1 8th Round

A - Parity 签到&#xff0c;根据奇数偶数的预算性质。 #include <iostream> #include <cstdio> using namespace std; int a,b,k,ans; int main() {cin>>b>>k;for(int ik-1;i>0;i--){scanf("%d",&a);if(b%2&&a%2||a%2&…...

copy代码常出的报错~持续更新

一 AttributeError: DataFrame object has no attribute ixpandas的1.0.0版本后&#xff0c;已经对该函数进行了升级和重构。 只需要将 ix改成 loc二在pycharm中使用 %matplotlib inline 语句会报错 改成 删掉这行代码&#xff0c;用 plt.show() 展示图表%matplotlib inlin…...

极客时间架构师训练营,实战案例

正文 我在做技术面试官的时候&#xff0c;在问完问题后&#xff0c;照例会问一句&#xff1a;你期望的工资是多少&#xff1f;对此&#xff0c;我只会记录下候选人的回答然后上报&#xff0c;没有同意权&#xff0c;更没有批驳权。 判断候选人能否通过面试&#xff0c;主要看…...

暑假acwing算法总结11:STL总结

1、vector 倍增自变长数组&#xff0c;插入均摊o(1)size() 返回元素个数empty() 判断是否为空clear() 清空front()/back() 返回第一/最后一个数push_back()/pop_back() 添加/删除元素begin()/end() 首/尾迭代器遍历方式 for(int i0;i<s.size();i)cout<<a[i]<< …...

2022.08.23-力扣刷题(222、789、199、124、257、404)

222. 完全二叉树的节点个数 题目链接&#xff1a; https://leetcode-cn.com/problems/count-complete-tree-nodes/ 方法一&#xff1a;迭代法层序遍历 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # …...

Openstack了解一下

一&#xff0c;云计算的服务模型 1、laaS 基础设施即服务:基础设施福分包括电脑、网络、存储、负载平衡设备、虚拟机。这 些服务于终端用户的软硬件资源都可以按照它们的需求来进行扩展或收缩。 2、PaaS 软件即服务:顾名思义&#xff0c;这种模式包括类似虚拟桌面、各种实用应用…...

crackme杂记007

花指令的特征&#xff1a; 遇到这种指令&#xff0c;可以立即判断出这是一个花指令&#xff0c;所以花指令较多的话&#xff0c;我们也可以通过搜索代码的方式快速去除 如上图&#xff0c;我们已经知道 E8 01 00 00 00 ?? ?? ?? ?? ?? C3 是花指令&#xff0c;所以…...

C++学习总结2

&#xff08;1&#xff09; 实参的a和形参的a的数据类型本质不一样&#xff0c;形参中的数组编译器会把它当成指针处理&#xff0c; 调用函数时需将数组名&#xff08;内存首地址&#xff09;和数组的有效长度传给被调用函数。 &#xff08;2&#xff09; 数据类型的本质&…...

爬虫学习——库的安装问题及解决方案

关于No module named ‘Cryptodome’ 一直很想爬网易云的评论&#xff0c;但爬虫还没学精&#xff0c;然后去找了一篇博客来试试&#xff01;接着关于库的安装磨了我好久…找了好多资料没成功&#xff0c;最后在老师以及自己不断尝试下&#xff0c;终于成功了&#xff01;感动…...

智能照明新的低成本解决方案?涂鸦 Beacon 智能灯泡初体验

7月3日&#xff0c;涂鸦智能正式推出 Tuya Beacon 方案。 7月6日&#xff0c;全球领先的智能照明供应商–红壹佰照明&#xff0c;首发基于 Tuya Beacon 的智能灯泡。 7月22日, 红壹佰 Beacon 智能球泡正式量产&#xff0c;并交付第一批 Beacon 智能灯泡样品。 8月4日&#x…...

JavaScript入门(一)

JavaScript&#xff08;Js&#xff09;是一种具有函数优先的轻量级&#xff0c;解释型或即时编译型的编程语言。虽然它是作为开发Web 页面的脚本语言而出名的&#xff0c;但是它也被用到了很多非浏览器环境中&#xff0c;例如 Node.js、 Apache CouchDB 和 Adobe Acrobat。Java…...

GCC的-Wl,--wrap编译选项

GCC的--wrap是一个链接器选项&#xff0c;假如我们要编译的源文件为main.c&#xff0c;编译命令如下&#xff1a; gcc main.c -Wl,--wrapfunc -o main.elf有以下效果&#xff1a; 如果符号func没有&#xff08;在当前源文件&#xff09;定义&#xff0c;就链接到__wrap_func如…...

学习第五篇:【SpringBoot-Labs】Spring Boot 调试环境、热部署入门、Lombok、MapStruct入门

本周&#xff08;8.21-8.27&#xff09;将学习芋道 Spring Boot的以下文章&#xff1a; 8.21&#xff1a; 快速入门 8.22&#xff1a;Spring Boot 自动配置原理 、Jar 启动原理 8.23&#xff1a;调试环境、 热部署入门、消除冗余代码 Lombok 入门 8.24&#xff1a;对象转换 Map…...

PHP性能分析:Xhprof介绍

什么是性能分析&#xff1f; 性能分析是衡量应用程序在代码级别的相对性能。性能分析将捕捉的事件包括&#xff1a;CPU的使用&#xff0c;内存的使用&#xff0c;函数的调用时长和次数&#xff0c;以及调用图。性能分析的行为也会影响应用性能。 什么时候应该进行性能分析? …...

区块链会员积分系统如何构建及应用逻辑

区块链积分系统创建的是一个公正的&#xff0c;专业的&#xff0c;权威的&#xff0c;国际的&#xff0c;引领着未来的交易平台。真正实现产品数字化、数字积分化、积分资产化、资产全球化。合纵连横&#xff0c;通融世界&#xff0c;才能立于不败之地。 众所周知&#xff0c;…...

你清楚搭建会员积分系统的目的吗?

当积分体系成为市场的一种主流趋势&#xff0c;企业为了加大自家平台流量&#xff0c;提升用户与平台之间的粘性&#xff0c;企业纷纷接入会员积分系统。当会员积分系统与现代化商业相结合&#xff0c;那么你清楚搭建会员积分系统的目的吗&#xff1f; 如何做好会员积分系统的积…...

会员积分管理系统的作用_分享会员积分管理系统的优势

商场、超市对用户进行管理&#xff0c;基本上都是采用积分管理&#xff0c;通过用户注册&#xff0c;施行积分积累制度&#xff0c;不仅能够有效吸引消费者消费更多商品或者服务&#xff0c;商家还能采用会员营销的方式&#xff0c;开展会员日活动&#xff0c;通过积分管理模式…...

DOPE修饰岩藻多糖 Fucoidan-DOPE 岩藻多糖-二油酰基磷脂酰乙醇胺

DOPE修饰岩藻多糖 Fucoidan-DOPE 岩藻多糖-二油酰基磷脂酰乙醇胺 中文名称&#xff1a;岩藻多糖-二油酰基磷脂酰乙醇胺 英文名称&#xff1a;Fucoidan-DOPE 别称&#xff1a;DOPE修饰岩藻多糖&#xff0c;DOPE-岩藻多糖 外观:固体或粘性液体&#xff0c;取决于分子量 PEG分…...

如何复盘已搭建的会员积分系统

会员积分系统搭建完成后&#xff0c;我们需要如何去复盘。首先&#xff0c;我们要明确在这个会员积分系统的搭建目的&#xff0c;拉新、促活、留存等。 其次&#xff0c;我们要根据我们产品、业务深度进行功能拆解&#xff0c;整理出对应的所有功能模块。举例某个社交型的电商…...

会员积分系统应该设几个等级?

通常情况下&#xff0c;会员积分体系会和等级体系随行&#xff0c;原因是商家可以通过设置会员等级差异化权益的框架&#xff0c;去加快用户获取积分的行为&#xff0c;从而提高商家自身的收益。会员积分系统是为了积分运营而存在的&#xff0c;所以会员积分体系可以帮助商家实…...

java毕业设计成品SpringBoot+VUE实现的电影院会员积分管理系统

&#x1f345;文末获取联系&#x1f345; 目录 一、项目介绍 二、开题报告 三、截图 四、源码获取 一、项目介绍 计算机毕业设计java毕设之SpringBoot电影院会员积分管理系统_哔哩哔哩_bilibili计算机毕业设计java毕设之SpringBoot电影院会员积分管理系统共计2条视频&am…...

利用会员积分系统提升会员复购率的要点

行业间的竞争越来越激烈&#xff0c;不论是线上还是线下&#xff0c;商家都面临着巨大的竞争压力。尤其是以下几个常见的问题&#xff1a; 1、品牌活性低&#xff1b; 2、新用户少&#xff1b; 3、老用户难以维护&#xff1b; 4、用户活跃度低等问题。 企业面临这些接踵而…...

python超市会员管理系统_超市会员管理系统

packagecom.memberSystem;importjava.text.SimpleDateFormat;import java.util.*;public classMenberSystems {public static voidmain(String[] args) {Scanner s newScanner(System.in);Date date newDate();SimpleDateFormat format new SimpleDateFormat("yyyy-MM-dd...

会员积分系统运营的五个操作步骤

会员积分系统运营是现在针对于私域流量运营非常好的一种手段&#xff0c;很多商家对于这种运营方式不太清楚&#xff0c;其实很好理解的&#xff0c;会员积分系统是将会员体系和积分体系结合起来使用的&#xff0c;会员体系对于用户留存方面有非常好的效果&#xff0c;恰好私域…...

会员积分系统的四大元素

会员积分系统是常见的提高用户活跃度的工具&#xff0c;会员体系一直以来都是最有效的活跃留存与转化的运营手段之一。一款产品如果需要持续获取用户价值&#xff0c;那么&#xff0c;前端增长和后端活跃、留存与转化就缺一不可。随着流量越来越贵&#xff0c;拉新成本也越来越…...

和外教的通话

这几天又跟Branden和Dale视频通话几次&#xff0c;我觉得和他们的接触再一次感受到很多异乡文化和进行跨文化交际&#xff0c;他们聊天的方式还是那么亲切&#xff0c;那么幽默&#xff0c;那么平易近人。我们研究了英语单词stud单词和一些基本用语。 我觉得讲得挺好&#xff…...

python 英语培训_英语学习与Python编程语言学习相辅相成(三十一)

最近在学习Python编程语言&#xff0c;Python编程语言并不难学&#xff0c;入门很容易&#xff0c;编程的语言用英语编&#xff0c;编写的第一个程序是" Hello World"&#xff0c;你好&#xff0c;世界。 在学Python编程语言之前&#xff0c;我查了大量的资料&#x…...

国外计算机科学英语演讲,2014年暨大英语演讲大赛圆满落幕

2014年5月9日下午&#xff0c;由暨南大学学生处主办&#xff0c;外国语学院承办的2014暨南大学英语文化节之英语演讲大赛在曾宪梓科学馆国际会议厅隆重举行。暨南大学党委副书记叶勤教授、学生处处长区向丽、团委书记成品兴、学生处副处长罗立新&#xff0c;我协副会长、外国语…...

外教比较

2019独角兽企业重金招聘Python工程师标准>>> 确定收费的模式 确定授课的模式 确定教学的方式-用什么样的方式能让人更快更好的学会 确定核心竞争力-比如我们的师资是牛津大学的 英语流利说 收费的模式-报特色课程&#xff0c;比如训练营之类的&#xff0c;其实就…...

中式英语如何产生?该怎么办?

中式英语如何产生&#xff1f;该怎么办&#xff1f; 文章目录中式英语如何产生&#xff1f;该怎么办&#xff1f;前言通过这次课程&#xff0c;希望提高的能力&#xff1a;回归主题&#xff1a;中式英语怎么产生的&#xff1f;问题来了&#xff0c;如果第二门语言直接和真实概念…...

通过使用计算机英语,商务英语教材怎么使用

商务英语教材使用时&#xff0c;除了合适的bec教材外&#xff0c;我们还需要有合适的学习方法&#xff0c;这样才能有效的学习。接下来沪江英语培训小编给大家讲讲bec商务英语教材怎么用&#xff0c;感兴趣请往下看吧。外贸工作者对英语的需求越来越大&#xff0c;所以很多人都…...

[教程福利免费领取] 英语口语训练视频 外教 Adam (全40集)

想要拥有字正腔圆一口标准的英语口语吗&#xff1f; 这位名叫Adam的老师在油管上的一些专题&#xff0c; 很多朋友没办法上去学习&#xff0c;花了点小钱终于搞到了下载版。 分享给需要的朋友吧&#xff01; 一共40节课&#xff0c;看完相信对你会有所帮助的。 | 获取方式 公众…...

专业英语【2】

1.Hydrogenperoxide 2.fungi 3.eukaryote 4.peptidoglycan 5.binaryfission 6.autotrophic 7.heterotrophic 8.cyanobacteria 9.aerobic 10.chlorophyll 11.bacteriochlorophyll 12.transpiration 13.semi-arid 14.aquifers 15.erosion 16.replenish 17.Degra...

号外: 我开通了英语专栏

前言 此专栏大约更新三年,三年时间希望有缘人可以通过这个专栏变成英语达人。能够灵活应对日常的外企工作,看懂英文官方文档。 作为一个技术人,英语并不是我的专业, 但我是一个在英语的路上走了很多弯路的人。 我发现英语很重要是在转运维的第二年,那时候同方有几台服务…...