网站主题咋做wordpress企业 破解主题下载

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

网站主题咋做,wordpress企业 破解主题下载,做一个棋牌网站要多少钱,大数据适合什么人学JavaScript对象 1.Function对象 函数的创建 //方法一#xff1a;自定义函数 function 函数名([参数]) {函数体[return 表达式] }//方法二#xff1a;匿名函数 (function([参数]) {函数体[return 表达式] }); **使用场景一#xff1a;定义后直接调用使用(只使用一次) (fun…JavaScript对象 1.Function对象 函数的创建 //方法一自定义函数 function 函数名([参数]) {函数体[return 表达式] }//方法二匿名函数 (function([参数]) {函数体[return 表达式] }); **使用场景一定义后直接调用使用(只使用一次) (function(a,b){return a b; })(1,2); **使用场景二作为其他对象的方法 document.getElementById(p1).onclick (function(){console.log(鼠标单击了…); });//方法三箭头函数 (参数) {// 函数体return 结果; }

  • 如果只有一个参数() 可以省略如果没有参数() 还是要保留
  • 如果函数体内只有一行代码{} 可以省略
  • 如果这一行代码就是结果return 可以省略 document.getElementById(p1).onclick () {console.log(鼠标单击了…); }//方法四默认参数的函数 function 函数名(参数1 参数值1, 参数2 参数值2) {} 此时传递参数有默认值如果传递参数会覆盖默认值不传递则会使用默认值(或者传递undefined)函数的特点 1.在定义函数的时候无需指定函数的返回值和函数的参数类型 2.函数是一个对象如果定义同名函数会覆盖函数 3.在JS中方法的调用只与方法的名称有关和参数列表无关(即可以选择是否有参数列表调用函数时传入参数个数随便) 4.在方法声明中有一个隐藏的内置对象数组arguments,封装所有的实际参数 function add() {let sum 0; for (let index 0; index arguments.length; index) {sum arguments[index];}return sum; }函数对象的概述 可以参与赋值(将对象值赋值给一个变量) function abc() {console.log(bb); } document.getElementById(p1).onclick abc;有属性、有方法执行 console.dir(abc)输出结果如下 ƒ abc()arguments: nullcaller: nulllength: 0name: abc➡prototype: {constructor: ƒ}[[FunctionLocation]]: VM1962:1➡[[Prototype]]: ƒ ()➡[[Scopes]]: Scopes[1]可以作为方法参数 function a() {console.log(a) }function b(f) { console.log(b)f(); // 调用函数对象 } b(a)可以作为方法返回值 function c() {console.log©;function d() {console.log(d);}return d; }c()()函数的属性 length表示定义的形参列表的参数个数 如function add(a, b, c) {}alert(a.length) 结果3函数的作用域
  • 以函数为分界线划定作用域所有函数之外是全局作用域
  • 查找变量时由内向外查找* 在内层作用域找到变量就会停止查找不会再找外层* 所有作用域都找不到变量报错
  • 作用域本质上是函数对象的属性可以通过 console.dir 来查看调试函数的闭包函数定义时它的作用域已经确定好了因此无论函数将来去了哪都能从它的作用域中找到当时那些变量。闭包就是指函数能够访问自己的作用域中变量 let 与 var作用域 如果函数外层引用的是 let 变量那么外层普通的 {} 也会作为作用域边界最外层的 let 也占一个 script 作用域 如果函数外层引用的是 var 变量外层普通的 {} 不会视为边界 如果 var 变量出现了重名则他俩会被视为同一作用域中的同一个变量 var e 10; if(true) {var e 20;console.log(e); // 打印 20 } console.log(e); // 因为是同一个变量还是打印 20如果是 let则视为两个作用域中的两个变量 let e 10; if(true) {let e 20; console.log(e); // 打印 20 } console.log(e); // 打印 10要想里面的 e 和外面的 e 能区分开来最简单的办法是改成 let或者用函数来界定作用域范围 var e 10; if(true) {function b() {var e 20;console.log(e);}b(); } console.log(e); 2.字符串对象 字符串对象的定义 方法一 var 变量名 字符串/字符串/字符串 方法二 var 变量名 new String(字符串)字符串对象的属性
    constructor字符串对象的函数模型 length字符串的长度 prototype添加字符串对象的属性字符串对象的方法 方法描述charAt(索引)返回索引字符indexOf(要查找的字符串[起始索引])返回要查找的字符串的首个位置lastIndexOf()返回要查找的字符串的最终位置substr(开始位置[长度])截取字符串的长度substring(开始位置结束位置)截取字符串的长度split(分隔符)分割字符串replace(要查找的字符串,新字符串)在字符串对象中将指定的字符串替换为新字符串toLowerCase()字符串对象转换为小写toUpperCase()字符串对象转换为大写 //区分三种字符串截取函数 slice slice(a,b)的作用是截取a位置含到b位置不含之间的字符串被截取的字符串不变返回截取后获得的子字符串。比如a是0b是3则截取0、1、2三个位置的字符。b为可选参数不填则表示截取到字符串的尾部。a或b为负数时表示从右往左排即-1表示最右侧的位置依次类推。substring() a或b为负数时自动转换为0a大于b时编译器会自动对调两者。substr() a表示开始位置包含b表示截取的长度可选。不填则截取到字符串结尾处 a为负数时表示从右往左排即-1表示最右侧的位置依次类推。//字符串拼接的两种方法 let name 张三; let age 18; 方法一使用加号进行拼接 let url /text?name name age age; 方法二使用模板占位进行拼接(使用反引号进行引用) let url /test?name\({name}age\){age};3.数学对象 数学对象的属性 E/LN2/LN10/PI/SORT2数学对象的方法 保留小数 数学.toFixed(x)//保留x位小数 数字.toPrecision(x)//保留x位数字4.日期对象 日期对象的创建 方法一 var date1 new Date()//获取本地时间 方法二 var date2 new Date(日期字符串)//创建指定的时间对象 方法三 var date3 new Date(年,月,日,[时,分,秒,毫秒])//多参数创建指定的时间对象 方法四 var date4 new Date(100000000)//通过毫秒创建时间(1970:00:00)日期对象的相关方法 常用日期和时间的获取 设置日期及时间 window对象中和时间有关的方法 ①SetTimeout用于设置一个计时器在指定的时间间隔后调用函数或计算表达式且仅执行一次。 setTimeout(函数名间隔的毫秒数)② clearTimeOut清除由setTimeout()方法所设置的计时器。 clearTimeout(setTimeout返回的id值)时间对象格式化 5.数组对象 数组对象是一个有序的数据集合使用单独的变量名来存储 一系列的数据。在JavaScript中定义数组时不需要指定数组的数据类型而且可以将不同类型的数据存放到一个数组中 数组对象的创建 //空数组 var a new Array();//声明长度为n的数组 var b new Array(n);//通过参数列表赋值创建数组 var c new Array(元素1元素2元素3…) var d [1,2,3,4]数组对象的属性 arr.length//获得数组的长度Js数组特点 1.Js中的数组类型可以变 2.Js中的数组长度可以变数组的操作 操作1遍历数组元素 //方法一返回的i是数组中非undefind的 for (i in arr) {document.write(arr[i] br/) }//方法二返回数组中非undefind的值 arr.forEach(function(e){document.write(e) }) arr.forEach((e) document.write(e)})原理 let arr [1,2,3,4]; //函数规则 function print(e) {documnet.write(e); } //forEach函数 function forEach(fn) {//forEach高阶函数 fn回调函数for (let i 0; i arr.length; i) {fn(i);}
    } //调用forEach函数 forEach(print);//方法三返回数组中所有的元素 for (let i 0; i arr.length; i) {console.log(arr[i]); }操作2添加数组元素 1.直接修改数组的长度 myArray.length n2.通过索引添加 a[index] n操作3删除元素的值 1.直接修改数组的长度 myArray.length n2.通过delete删除 delete myArray[1]数组对象的方法 方法描述concat()连接两个或多个数组并返回已连接数组的副本。copyWithin()将数组中的数组元素复制到指定位置或从指定位置复制。entries()返回键/值对数组迭代对象。every()检查数组中的每个元素是否通过测试。fill()用静态值填充数组中的元素。filter()使用数组中通过测试的每个元素创建新数组。find()返回数组中第一个通过测试的元素的值。findIndex()返回数组中通过测试的第一个元素的索引。forEach()为每个数组元素调用函数。from()从对象创建数组。includes()检查数组是否包含指定的元素。indexOf()在数组中搜索元素并返回其位置。isArray()检查对象是否为数组。join()将数组的所有元素连接成一个字符串。keys()返回 Array Iteration 对象包含原始数组的键.lastIndexOf()在数组中搜索元素从末尾开始并返回其位置。map()使用为每个数组元素调用函数的结果创建新数组。pop()删除数组的最后一个元素并返回该元素。push()将新元素添加到数组的末尾并返回新的长度。reduce()将数组的值减为单个值从左到右。reduceRight()将数组的值减为单个值从右到左。reverse()反转数组中元素的顺序。shift()删除数组的第一个元素并返回该元素。slice()选择数组的一部分并返回新数组。some()检查数组中的任何元素是否通过测试。sort()对数组的元素进行排序。splice()从数组中添加/删除元素。toString()将数组转换为字符串并返回结果。unshift()将新元素添加到数组的开头并返回新的长度。valueOf()返回数组的原始值。 6.RegExp正则表达式对象 正则表达式定义字符串的组成规则 单个字符规则 [规则]:表示对单个字符的限制 [a]//表示字符串必须是a [ab]//表示字符串为a或b [a-bA-Z0-9_]//表示单个字符可以是a~b A~Z 0~9 _
  • 特殊符号代表特殊含义的单个字符: \d:单个数字字符 [0-9] \w:单个单词字符[a-zA-Z0-9_]量词的规则 ?表示出现0次或1次 表示出现0次或多次 出现1次或多次 {m,n}:表示 m 数量 n m如果缺省 {,n}:最多n次* n如果缺省{m,} 最少m次开始与结束 以^开始以\(结束正则对象的创建 //方法一 let reg new RegExp(正则表达式); //方法二 let reg /正则表达式/ 例子 let regExp new RegExp(\\w{6,12}); let regExp2 /^\w{6,12}\)/;正则对象的方法 正则对象.text(字符串);//用于检验正则表达式是否合法返回true或者false8.Global全局对象 全局对象这个Global中封装的方法不需要对象就可以直接调用 方法名() eval(“字符串”)函数 功能将eval中的字符串参数作为脚本代码去执行isFinite(数字)函数 检查某个值是否为有穷大的数。 ➢参数为有限值返回值为ture。 ➢参数为非数字或者正、负无穷大返回值为false。isNaN()函数 检查某个值是否为数字(NaN与任何数逻辑运算均为NaN) ➢参数为数字返回值为false 。 ➢参数为非数字返回值为ture 。parseInt(任意参数[转换的进制])函数 ➢参数第一个字符为数字字符串返回值为number 。 ➢参数为非数字返回值为NAN ➢将参数为非数字前的数字转成NaN返回encodeURI():url编码 decodeURI():url解码 encodeURIComponent():url编码,编码的字符更多 decodeURIComponent():url解码 根据meta标签中charset编码方式对文字进行编码 decodeURI对服务器发送的内容进行解码9.Object对象 定义格式 //方法一在对象内部定义方法和属性 let 对象名 {//定义属性属性名1属性值1属性名2属性值2//定义方法/1.可以采用匿名函数定义方法/函数名称function(形参列表){}/2.简化的定义方式/函数名称(形参列表){} }//方法二在对象外部定义属性和方法 let 属性名1 属性值; let 属性名2 属性值; let 方法名 function(形参列表){} let 对象名 {属性名1属性名2方法名}get和set方法 let stu {name: null,get name() {console.log(进入了get);return this._name;},set name(name) {console.log(进入了set);this._name name;} } //在定义get和set方法的在修改name属性的时候会自动调用get和set方法 stu.name yhw console.log(stu.name) //在实践中开发者经常使用_开头来表示某个属性是私有的以便区分公共属性。这是一种约定俗成的做法并没有强制规定。将name改为_name也可正常运行属性的增删改 js 的对象它的属性和方法可以随时加减 let stu {name:张三}; // 添加属性 stu.age 18; // 删除属性 delete stu.age; // 添加方法 stu.study function() { console.log(this.name 在学习); } // 添加get和set方法需要借助 Object.definePropery Object.defineProperty(对象名, 属性名, { //因为Object.definePropery方法已经定义了属性名所以无需再次在get和set方法定义属性名get(){return this.属性名;},set(a){this.属性名 a;} });this关键字 js 中的 this 也是隐式参数但它与函数运行时上下文相关 //情况一当单独定义一个函数使用this关键字全局对象 window被当作了this function study() {console.log(this.name); }//此时this.name为空字符串(window.name)//情况二如果作为对象的方法this表示的是对象本身 let stu {name:lisi;study() {console.log(this.name);} }//此时this.name为lisi(stu.name)//情况三动态指定this let stu {name:zhangsan}; study.call(stu);//通过call指定study函数内的this为stu对象因此会输出zhangsanthis关键字的一种易错情况 但是可以通过箭头函数解决这一问题在箭头函数内出现的 this和它外层 this相同 let stu {name: 小花,friends: [小白,小黑,小明],play() {this.friends.forEach(e {console.log(this.name 与 e 在玩耍);})}
    }继承原型继承 let father {f1: 父属性,m1: function() {console.log(父方法);} }let son Object.create(father);console.log(son.f1); // 打印 父属性 son.m1(); // 打印 父方法father 是父对象son 去调用 .m1 或 .f1 时自身对象没有就到父对象找son 自己可以添加自己的属性和方法son 里有特殊属性 proto 代表它的父对象js 术语 son 的原型对象不同浏览器对打印 son 的 proto 属性时显示不同 Edge 打印 console.dir(son) 显示 [[Prototype]]Firefox 打印 console.dir(son) 显示 prototype
    出于方便的原因js 又提供了一种基于函数的原型继承 函数职责 负责创建子对象给子对象提供属性、方法功能上相当于构造方法 函数有个特殊的属性 prototype它就是函数创建的子对象的父对象 注意名字有差异这个属性的作用就是为新对象提供原型 function cons(f2) {// 创建子对象(this), 给子对象提供属性和方法this.f2 f2;this.m2 function () {console.log(子方法);} } // cons.prototype 就是父对象 cons.prototype.f1 父属性; cons.prototype.m1 function() {console.log(父方法); }配合 new 关键字创建子对象 let son new cons(子属性)子对象的 proto 就是函数的 prototype 属性 10.JSON对象 概念JavaScript Object Notation, Javascript 对象标记法是通过JavsScript对象标记法书写的文本 作用多用于数据载体在网络中进行数据传输 格式 var 变量名 ‘{key1:value1, key2:value2}; value的数据类型为: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true or false) 数组(在方括号中) 对象(在花括号中) null方法 将JSON转换为JS对象 var obj JSON.parse(userString);将JS对象转换为JSON字符串 var jsonStr JSON.stringify(jsObject);json 中只能有 null、true|false、数字、字符串只有双引号、对象、数组json 中不能有除以上的其它 js 对象的特性如方法等json 中的属性必须用双引号引起来