热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScipt基础(持续更新三)

JavaScipt基础JavaScipt基础九、对象(Object)9.1什么是对象9.2JavaScript中的对象9.3如何得到一个对象9


 JavaScipt基础



 JavaScipt基础

九、对象(Object)

9.1什么是对象

9.2Javascript中的对象 

9.3如何得到一个对象

9.4this的指向 

 9.5对象的使用

十、标准库对象(内置对象)

10.1Math对象 

 10.1.1常用属性和方法

10.1.2案例 

 10.1.3属性方法对照表

10.2Date 对象(构造函数)

10.2.1常用属性和方法 

10.2.2案例 

 10.2.3方法对照表

 10.3 Array对象

10.3.1常用属性和方法 

10.3.2方法和属性对照表 

10.4String 对象

10.4.1常用属性和方法 

10.4.2方法和属性对照表

10.5包装对象




九、对象(Object)


9.1什么是对象


万物皆对象

现实生活中:万物皆对象,对象是一个具体的事物,一个具体的事物就会有行为和特征。
举例: 一部车,一个手机
车是一类事物,门口停的那辆车才是对象
特征:红色、四个轮子
行为:驾驶、刹车



9.2Javascript中的对象 


Javascript中的对象其实就是生活中对象的一个抽象
Javascript的对象是无序属性的集合。
其属性可以包含基本值、对象、数组或函数。
对象就是一组没有顺序的值。
我们可以把Javascript中的对象想象成键值对,其中值可以是数据和函数。
对象的行为和特征
特征---属性
行为---方法

事物的特征在对象中用属性来表示。

事物的行为在对象中用方法来表示。

属性和方法统称为对象的成员。



9.3如何得到一个对象

var obj1 = {};//得到一个空对象
var obj2 = {name:'张三',age:18};//得到拥有两个属性的对象
//得到拥有两个属性和一个方法的对象
var obj3 = {name:'张三',age:18,fei:function(){console.log('你上天啊!');}
}
•new Object() 创建对象 (内置构造函数)var person = new Object();person.name = 'lisi';
person.age = 35;
person.sayHi = function(){console.log('Hello,everyBody');
}
•自定义构造函数创建对象function Person(name,age,job){this.name = name;this.age = age;this.job = job;this.sayHi = function(){console.log('Hello,everyBody');}
}
var p1 = new Person('张三', 22, 'actor');

new关键字和构造函数

构造函数 ,是一种特殊的函数,又叫做函数构造器。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

构造函数用于创建一类对象,首字母通常大写。

构造函数要和new一起使用才有意义。

new 关键字也读做实例化。实例化构造函数,得到一个对象。



9.4this的指向 


Javascript中的this指向问题,比较复杂,有时候会让人难以捉摸,随着学习的深入,我们会不断接触this,

在学习过程中,我们可以不断总结,最终搞清楚this在何种情况下指向何处……

目前,我们只需要记住以下两点就可以了:

1: 函数如果在某个对象下,this就指向这个对象

2: 函数如果被直接调用,this指向window对象


var o1 = {name: '山治',f: function () {console.log(this.name);}
}
o1.f(); // 山治function f(){console.log(this);
}
f();
console.log(window);

 9.5对象的使用


  • 方法及属性的使用

对象.方法名(); //调用对象的方法
对象.属性;   //获取对象的属性

  • 遍历对象的属性
  • 通过for..in语法可以遍历一个对象


var obj1 = {name:'路飞',age : 17,sex : '男',
}for(var k in obj1){console.log(k);console.log(obj1[k]);
}

注意:使用for …in语法,同样可以遍历数组

注意:如果属性名或方法名,是一个变量,则使用对象[变量名] 语法

•删除对象的属性
var obj1 = {name:'路飞',age : 17,sex : '男',
}console.log(obj1.age); //17
delete obj1.age; //删除对象中指定的属性
console.log(obj1.age); // undefined

总结:

创建对象有三种方式,字面量、new内置构造函数及自定义构造函数;对象中有属性及方法,this指向当前对象,使用 . (点) 语法调用属性及方法;


十、标准库对象(内置对象)


Javascript 提供了很多个内置对象:Math/Array/Number/String/Boolean...

对象只是带有属性方法的特殊数据类型。

我们在学习时其实就是要记住对象的每个属性和方法怎么使用,代表什么含义;

技术问题,遇到分歧,去哪里查找资料:

火狐开发者社区--MDN

微软开发者社区--MSDN



10.1Math对象 


Math - Javascript | MDN



 10.1.1常用属性和方法


Math 是一个内置对象, 它具有数学常数和函数的属性和方法。不是一个函数对象。

与其它全局对象不同的是, Math 不是一个构造函数. Math 的所有属性和方法都是静态的.

跟数学相关的运算直接使用Math中的成员即可


console.log(Math.PI); //圆周率3.141592653589793
Math.random();//介于 0 和 1 之间的伪随机数。Math.ceil(6.6);//获取大于或等于提供数值的最小整数--向上取整
Math.floor(8.8);//获取小于或等于提供数值的最大整数--向下取整
Math.round(9.9);//四舍五入
Math.max(10,20,15);//取多个值中的最大值
Math.min(10,20,15);//取多个值中的最小值
Math.pow(10,2);//返回x的y次幂
Math.sqrt(100);//求平方根

10.1.2案例 


  • 求10-20之间的随机数
  1. .floor(Math.random() * (max - min)) + min; 


 10.1.3属性方法对照表

Math对象的属性(常量)


属性(常量)

描述

Math.E 常量

数学常数 e。这是欧拉数,自然对数的底。

Math.LN2 常量

2 的自然对数。

Math.LN10 常量

10 的自然对数。

Math.LOG2E 常量

以 2 为底 e 的对数。

Math.LOG10E 常量

以 10 为底 e 的对数。

Math.PI 常量

Pi。这是圆的周长与直径的比值。

Math.SQRT1_2 常量

0.5 的平方根,或相当于 1 除以 2 的平方根。

Math.SQRT2 常量

2 的平方根。

Math对象的方法(函数)


方法(函数)

描述

Math.abs 函数

返回数字的绝对值。

Math.acos 函数

返回数字的反余弦值。

Math.acosh 函数

返回数字的双曲反余弦值(或反双曲余弦值)。

Math.asin 函数

返回数字的反正弦值。

Math.asinh 函数

返回数字的反双曲正弦。

Math.atan 函数

返回数字的反正切值。

Math.atan2 函数

将与 X 轴的角度(以弧度为单位)返回到由 y 和 x 坐标表示的点。

Math.atanh 函数

返回数字的反双曲正切。

Math.ceil 函数

返回大于或等于提供的数值表达式的最小整数。

Math.cos 函数

返回数字的余弦值。

Math.cosh 函数

返回数字的双曲余弦。

Math.exp 函数

返回 e(自然对数的底)的乘幂数。

Math.expm1 函数

返回 e(自然对数的底)的乘幂数减去 1 的结果。

Math.floor 函数

返回小于或等于提供的数值表达式的最大整数。

Math.hypot 函数

返回参数平方和的平方根。

Math.imul 函数

返回被视为 32 位带符号整数的两个数字的积。

Math.log 函数

返回数字的自然对数。

Math.log1p 函数

返回 1 加上一个数字的的自然对数。

Math.log10 函数

返回数字以 10 为底的对数。

Math.log2 函数

返回数字以 2 为底的对数。

Math.max 函数

返回提供的两个数值表达式中的较大值。

Math.min 函数

返回提供的两个数字中的较小值。

Math.pow 函数

返回基表达式的指定乘幂数的值。

Math.random 函数

返回介于 0 和 1 之间的伪随机数。

Math.round 函数

返回舍入到最近整数的指定数值表达式。

Math.sign 函数

返回数字符号,它指示数字为正数、负数还是 0。

Math.sin 函数

返回数字的正弦值。

Math.sinh 函数

返回数字的反双曲正弦。

Math.sqrt 函数

返回数字的平方根。

Math.tan 函数

返回数字的正切值。

Math.tanh 函数

返回数字的双曲正切。

Math.trunc 函数

返回数字的整数部分,删除任何小数数字。


10.2Date 对象(构造函数)


Date - Javascript | MDN



10.2.1常用属性和方法 


创建 Date 实例用来处理日期和时间。Date 对象基于1970年1月1日(世界标准时间)起的毫秒数。

// 获取当前时间,UTC世界时间,距1970年1月1日(世界标准时间)起的毫秒数
var now = new Date();
console.log(now.getTime()); // 获取距1970年1月1日(世界标准时间)起的毫秒数
console.log(now.valueOf()); // valueOf用于获取对象的原始值,与getTime()方法相同

Date构造函数的参数
1. 毫秒数 1498099000356 new Date(1498099000356)
2. 日期格式字符串  '2015-5-1'  new Date('2015-5-1')
3. 年、月、日……   new Date(2015, 4, 1)   // 月份从0开始


•获取日期的毫秒形式
var now = new Date();
console.log(now.getTime());
// valueOf用于获取对象的原始值
console.log(now.valueOf());// HTML5中提供的方法,有兼容性问题
var now = Date.now();// 不支持HTML5的浏览器,可以用下面这种方式
var now = + new Date(); // 隐式调用 Date对象的valueOf()
•日期格式化方法
toString() // 转换成字符串
valueOf() // 获取毫秒值
// 下面格式化日期的方法,在不同浏览器可能表现不一致,一般不用
toDateString()
toTimeString()
toLocaleDateString()
toLocaleTimeString()
•获取日期指定部分
getTime() // 返回毫秒数和valueOf()结果一样,valueOf()内部调用的getTime()
getSeconds() // 返回0-59
getMinutes() // 返回0-59
getHours() // 返回0-23
getDay() // 返回星期几 0周日 6周6
getDate() // 返回当前月的第几天
getMonth() // 返回月份,***从0开始***
getFullYear() //返回4位的年份 如 2016

10.2.2案例 

•案例1:写一个函数,格式化日期对象,返回yyyy-MM-dd HH:mm:ss的形式
function formatDate(d) {//如果date不是日期对象,返回if (!date instanceof Date) {return;}var year = d.getFullYear(),mOnth= d.getMonth() + 1, date = d.getDate(), hour = d.getHours(), minute = d.getMinutes(), secOnd= d.getSeconds();mOnth= month <10 ? &#39;0&#39; + month : month;date = date <10 ? &#39;0&#39; + date : date;hour = hour <10 ? &#39;0&#39; + hour : hour;minute = minute <10 ? &#39;0&#39; + minute:minute;secOnd= second <10 ? &#39;0&#39; + second:second;return year + &#39;-&#39; + month + &#39;-&#39; + date + &#39; &#39; + hour + &#39;:&#39; + minute + &#39;:&#39; + second;
}

•计算时间差,返回相差的天/时/分/秒
function getInterval(start, end) {var day, hour, minute, second, interval;interval = end - start;interval /= 1000;day = Math.round(interval / 60 /60 / 24);hour = Math.round(interval / 60 /60 % 24);minute = Math.round(interval / 60 % 60);secOnd= Math.round(interval % 60);return {day: day,hour: hour,minute: minute,second: second}
}

 10.2.3方法对照表

Date对象 的方法。


方法

描述

getDate 方法

使用当地时间返回一个月某天的值。

getDay 方法

使用当地时间返回一个星期某天的值。

getFullYear 方法

使用当地时间返回年份值。

getHours 方法

使用当地时间返回小时值。

getMilliseconds 方法

使用当地时间返回毫秒值。

getMinutes 方法

使用当地时间返回分钟值。

getMonth 方法

使用当地时间返回月份值。

getSeconds 方法

使用当地时间返回秒值。

getTime 方法

Date 对象中的时间值返回为自 1970 年 1 月 1 日午夜起经过的毫秒数。

getTimezoneOffset 方法

返回主机的时间与协调通用时间 (UTC) 之间的分钟差值。

getUTCDate 方法

使用 UTC 返回一个月某天的值。

getUTCDay 方法

使用 UTC 返回一个星期某天的值。

getUTCFullYear 方法

使用 UTC 返回年份值。

getUTCHours 方法

使用 UTC 返回小时值。

getUTCMilliseconds 方法

使用 UTC 返回毫秒值。

getUTCMinutes 方法

使用 UTC 返回分钟值。

getUTCMonth 方法

使用 UTC 返回月份值。

getUTCSeconds 方法

使用 UTC 返回秒值。

getVarDate 方法

Date 对象中的 VT_DATE 值返回。

getYear 方法

返回年份值。

hasOwnProperty 方法

返回一个布尔值,该值指示一个对象是否具有指定名称的属性。

isPrototypeOf 方法

返回一个布尔值,该值指示对象是否存在于另一个对象的原型链中。

propertyIsEnumerable 方法

返回一个布尔值,该值指示指定属性是否为对象的一部分以及该属性是否是可枚举的。

setDate 方法

使用当地时间设置一个月中某一日的数值。

setFullYear 方法

使用当地时间设置年份值。

setHours 方法

使用当地时间设置小时值。

setMilliseconds 方法

使用当地时间设置毫秒值。

setMinutes 方法

使用当地时间设置分钟值。

setMonth 方法

使用当地时间设置月份值。

setSeconds 方法

使用当地时间设置秒值。

setTime 方法

设置 Date 对象中的日期和时间值。

setUTCDate 方法

使用 UTC 设置一个月中某一日的数值。

setUTCFullYear 方法

使用 UTC 设置年份值。

setUTCHours 方法

使用 UTC 设置小时值。

setUTCMilliseconds 方法

使用 UTC 设置毫秒值。

setUTCMinutes 方法

使用 UTC 设置分钟值。

setUTCMonth 方法

使用 UTC 设置月份值。

setUTCSeconds 方法

使用 UTC 设置秒值。

setYear 方法

使用当地时间设置年份值。

toDateString 方法

以字符串值的形式返回一个日期。

toGMTString 方法

返回使用格林尼治标准时间 (GMT) 转换为字符串的日期。

toISOString 方法

以字符串值的形式返回采用 ISO 格式的日期。

toJSON 方法

用于在 JSON 序列化之前转换目标类型的数据。

toLocaleDateString 方法

将一个日期以字符串值的形式返回,该字符串应适合于宿主环境的当前区域设置。

toLocaleString 方法

返回使用当前区域设置转换为字符串的对象。

toLocaleTimeString 方法

以字符串值的形式返回一个时间,此字符串值应与宿主环境的当前区域设置相适应。

toString 方法

返回表示对象的字符串。

toTimeString 方法

以字符串值形式返回时间。

toUTCString 方法

返回使用 UTC 转换为字符串的日期。

valueOf 方法

返回指定对象的原始值。


 10.3 Array对象


Array - Javascript | MDN



10.3.1常用属性和方法 


length属性: 返回数组的成员数量。 

var arr = [&#39;a&#39;, &#39;b&#39;];
console.log(arr.length) // 2

常用方法 

  • push方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。
  1.  a = [];
    a.push(1) // 1
    a.push(&#39;a&#39;) // 2
    a.push(true, {}) // 4
    console.log(a); //[1, &#39;a&#39;, true, {}]
  • pop方法用于删除数组的最后一个元素,并返回该元素。注意,该方法会改变原数组
  1.  a = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;];
    a.pop() // &#39;c&#39;
    console.log(a);// [&#39;a&#39;, &#39;b&#39;]
  • slice方法用于提取原数组的一部分,返回一个新数组,原数组不变。
  • (从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。 如果省略第二个参数,则一直返回到原数组的最后一个成员。
  1.  a = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;];
    a.pop() // &#39;c&#39;
    console.log(a);// [&#39;a&#39;, &#39;b&#39;]
  • join方法用于将数组元素以指定字符拼接为字符串,返回一个字符串,原数组不变。
  1.  a = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;];
    console.log(a.join(&#39;-&#39;)) // &#39;a-b-c-d-e&#39;
  • 返回数组的字符串表示形式。
  1.  arr = [1, 2, 3, 4];
    console.log(arr.toString()); //1,2,3,4


10.3.2方法和属性对照表 

Array 对象的属性。


属性

描述

length 属性

返回一个整数值,此整数比数组中所定义的最高位元素大 1,是实际元素个数。

Array 对象的方法。


方法

描述

concat 方法(数组)

返回由两个数组组合而成的新数组。

entries 方法

返回包含数组的键/值对的迭代器。

every 方法

检查定义的回调函数是否为数组中的所有元素返回 true

fill 方法

使用指定值填充数组。

filter 方法

对数组的每个元素调用定义的回调函数,并返回回调函数为其返回 true 的值的数组。

findIndex 方法

返回满足回调函数中指定的测试条件的第一个数组元素的索引值。

forEach 方法

为数组中的每个元素调用定义的回调函数。

hasOwnProperty 方法

返回一个布尔值,该值指示某个对象是否具有指定名称的属性。

indexOf 方法(数组)

返回某个值在数组中的第一个匹配项的索引。

isPrototypeOf 方法

返回一个布尔值,该值指示某个对象是否存在于另一个对象的原型链中。

join 方法

返回由一个数组的所有元素串联而成的 String 对象。

keys 方法

返回包含数组的索引值的迭代器。

lastIndexOf 方法(数组)

返回指定值在数组中的最后一个匹配项的索引。

map 方法

对数组的每个元素调用定义的回调函数并返回包含结果的数组。

pop 方法

从数组中移除最后一个元素并将该元素返回。

propertyIsEnumerable 方法

返回一个布尔值,该值指示指定属性是否为对象的一部分且是否可枚举。

push 方法

将新元素追加到一个数组中,并返回数组的新长度。

reduce 方法

通过对数组中的所有元素调用定义的回调函数来累积单个结果。 回调函数的返回值是累积的结果,并且作为对回调函数的下一个调用中的参数提供。

reduceRight 方法

通过对数组中的所有元素调用定义的回调函数来按降序顺序累积单个结果。 回调函数的返回值是累积的结果,并且作为对回调函数的下一个调用中的参数提供。

reverse 方法

将元素顺序被反转的 Array 对象返回。

shift 方法

从数组中移除第一个元素并将返回该元素。

slice 方法(数组)

返回一个数组中的一部分。

some 方法

检查定义的回调函数是否为数组的任何元素返回 true

sort 方法

返回一个元素已经进行了排序的 Array 对象。

splice 方法

从一个数组中移除元素,如有必要,在所移除元素的位置上插入新元素,并返回所移除的元素。

toLocaleString 方法

返回使用当前区域设置的字符串。

toString 方法

返回数组的字符串表示形式。

unshift 方法

在数组的开头插入新元素。

valueOf 方法

获取对数组的引用。

values 方法

返回包含数组的值的迭代器。


10.4String 对象


String - Javascript | MDN



10.4.1常用属性和方法 

var s = &#39;Javascript&#39;;
// length属性返回字符串的长度。
var i = s.length; //返回参数在字符串中第一次出现的位置
var i = s.indexOf(&#39;b&#39;); //从原字符串取出子字符串并返回,不改变原字符串
var i = s.substr(2,4);//从下标第二个开始截取4个长度的字符串
//toLowerCase方法用于将一个字符串全部转为小写
//toUpperCase则是全部转为大写
var i = s.toLowerCase();
var i = s.toUpperCase();// 用于替换匹配的子字符串,只替换第一个匹配
var i = s.replace(&#39;a&#39;,&#39;b&#39;);
console.log(i);

10.4.2方法和属性对照表

String 对象的属性


属性

描述

constructor 属性

指定用于创建对象的函数。

length 属性(字符串)

返回 String 对象的长度。

prototype 属性

为对象的类返回原型的引用。

 String 对象的方法。


方法

描述

anchor 方法

将具有 NAME 特性的 HTML 定位点放置在文本两侧。

big 方法

将 HTML  标记放置在文本两侧。

blink 方法

将 HTML  标记放置在文本两侧。

bold 方法

将 HTML  标记放置在文本两侧。

charAt 方法

返回指定索引处的字符。

charCodeAt 方法

返回指定字符的 Unicode 编码。

codePointAt 方法

返回一个 Unicode UTF-16 字符的码位。

concat 方法(字符串)

返回由提供的两个字符串串联而成的字符串。

EndsWith 方法

返回一个布尔值,该值指示字符串或子字符串是否以传入字符串结尾。

includes 方法

返回一个布尔值,该值指示传入字符串是否包含在字符串对象中。

fixed 方法

将 HTML  标记放置在文本两侧。

fontcolor 方法

将具有 COLOR 特性的 HTML  标记放置在文本两侧。

fontsize 方法

将具有 SIZE 特性的 HTML  标记放置在文本两侧。

hasOwnProperty 方法

返回一个布尔值,该值指示某个对象是否具有指定名称的属性。

indexOf 方法(字符串)

返回字符串内第一次出现子字符串的字符位置。

isPrototypeOf 方法

返回一个布尔值,该值指示某个对象是否存在于另一个对象的原型链中。

italics 方法

将 HTML  标记放置在文本两侧。

lastIndexOf 方法(字符串)

返回字符串内子字符串的最后一个匹配项。

link 方法

将具有 HREF 特性的 HTML 定位点放置在文本两侧。

localeCompare 方法

返回一个值,该值指示两个字符串在当前区域设置中是否相等。

match 方法

通过使用提供的正则表达式对象来搜索字符串并以数组形式返回结果。

normalize 方法

返回指定字符串的 Unicode 范式。

propertyIsEnumerable 方法

返回一个布尔值,该值指示指定属性是否为对象的一部分且是否可枚举。

repeat 方法

返回一个新的字符串对象,它的值等于重复了指定次数的原始字符串。

replace 方法

使用正则表达式替换字符串中的文本并返回结果。

search 方法

返回正则表达式搜索中第一个子字符串匹配项的位置。

slice 方法(字符串)

返回字符串的片段。

small 方法

将 HTML  标记放置在文本两侧。

split 方法

返回一个字符串拆分为若干子字符串时所产生的字符串数组。

StartsWith 方法

返回一个布尔值,该值指示字符串或子字符串是否以传入字符串开头。

strike 方法

将 HTML  标记放置在文本两侧。

sub 方法

将 HTML  标记放置在文本两侧。

substr 方法

返回一个从指定位置开始且具有指定长度的子字符串。

substring 方法

返回 String 对象中指定位置处的子字符串。

sup 方法

将 HTML  标记放置在文本两侧。

toLocaleLowerCase 方法

返回一个字符串,其中所有字母字符都转换为小写形式,并将考虑主机环境的当前区域设置。

toLocaleString 方法

返回使用当前区域设置转换为字符串的对象。

toLocaleUpperCase 方法

返回一个字符串,其中所有字母字符都转换为大写形式,并将考虑主机环境的当前区域设置。

toLowerCase 方法

返回一个字符串,其中所有字母字符都转换为小写形式。

toString 方法

返回字符串。

toUpperCase 方法

返回一个字符串,其中所有字母字符都转换为大写形式。

trim 方法

返回已移除前导空格、尾随空格和行终止符的字符串。

valueOf 方法

返回字符串。


10.5包装对象


对象是 Javascript 语言最主要的数据类型,三种原始类型的值——数值、字符串、布尔值——在一定条件下,也会自动转为对象,也就是原始类型的“包装对象”。

所谓“包装对象”,就是分别与数值、字符串、布尔值相对应的Number、String、Boolean三个原生对象。这三个原生对象可以把原始类型的值变成(包装成)对象。


var v1 = new Number(123);
var v2 = new String(&#39;abc&#39;);
var v3 = new Boolean(true);typeof v1 // "object"
typeof v2 // "object"
typeof v3 // "object"v1 === 123 // false
v2 === &#39;abc&#39; // false
v3 === true // false

包装对象的最大目的,首先是使得 Javascript 的对象涵盖所有的值,其次使得原始类型的值可以方便地调用某些方法。

原始类型的值,可以自动当作对象调用,即调用各种对象的方法和参数。

这时,Javascript 引擎会自动将原始类型的值转为包装对象实例,在使用后立刻销毁实例。

比如,字符串可以调用length属性,返回字符串的长度。

&#39;abc&#39;.length // 3

上面代码中,abc是一个字符串,本身不是对象,不能调用length属性。

Javascript 引擎自动将其转为包装对象,在这个对象上调用length属性。

调用结束后,这个临时对象就会被销毁。这就叫原始类型与实例对象的自动转换。

 


推荐阅读
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 检查在所有可能的“?”替换中,给定的二进制字符串中是否出现子字符串“10”带 1 或 0 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 如何使用 `org.opencb.opencga.core.results.VariantQueryResult.getSource()` 方法及其代码示例详解 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 利用 JavaScript 和 Node.js 验证时间的有效性
    本文探讨了如何使用 JavaScript 和 Node.js 验证时间的有效性。通过编写一个 `isTime` 函数,我们可以确保输入的时间格式正确且有效。该函数利用正则表达式匹配时间字符串,检查其是否符合常见的日期时间格式,如 `YYYY-MM-DD` 或 `HH:MM:SS`。此外,我们还介绍了如何处理不同时间格式的转换和验证,以提高代码的健壮性和可靠性。 ... [详细]
  • 本文详细解析了一种实用的函数,用于从URL中提取查询参数。该函数通过处理URL中的搜索部分,能够高效地获取并解析出所需的参数值,适用于各种Web开发场景。 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 本文探讨了如何利用Java代码获取当前本地操作系统中正在运行的进程列表及其详细信息。通过引入必要的包和类,开发者可以轻松地实现这一功能,为系统监控和管理提供有力支持。示例代码展示了具体实现方法,适用于需要了解系统进程状态的开发人员。 ... [详细]
author-avatar
金婉jessica氵_573
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有