From f07f50291b916dcb4ebd43388186f9e930a5d5f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E5=BF=97=E6=96=87?= <921158807@qq.com> Date: Fri, 7 Oct 2022 11:21:03 +0800 Subject: [PATCH 1/4] hu --- ...72\347\241\200\350\257\255\346\263\225.md" | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 "20221007JS\345\237\272\347\241\200\350\257\255\346\263\225.md" diff --git "a/20221007JS\345\237\272\347\241\200\350\257\255\346\263\225.md" "b/20221007JS\345\237\272\347\241\200\350\257\255\346\263\225.md" new file mode 100644 index 0000000..16414fd --- /dev/null +++ "b/20221007JS\345\237\272\347\241\200\350\257\255\346\263\225.md" @@ -0,0 +1,71 @@ +### 一、Js的概念和执行原理? + +(1)Js也是程序语言中的一种,但是Js是嵌入HTML语言中,通过浏览器运行 + +(2)当客户端向服务器端请求某个页面时,服务器端将整个页面中包含JavaScript的脚本代码作为响应内容,发送回客户端机器,客户端浏览器根据发回的网页文件从上往下逐行读取并解析其中的html或者脚本代码。 + +#### 二、Js代码写哪? + +(1)直接直接写页面标签里 + +```html + + + + + + +``` + +(2)写外部.JS文件中 + +```html +alert("欢迎进入JavaScript编程的世界!"); +``` + +(3)html引用外部文件的方法 + +```html + + + + + 脚本代码的位置:写在外部js文件中 + + + - - + 喜欢我就点击我吧 +

+ 喜欢我就点击我吧 + + +``` + + + + + +### 四,变量命名时要遵循的规则 + +* var是声明变量的关键字 +* 第一个字符必须是一个字母、下划线(_)或一个美元符号$ +* 后面的字符可以是字母、下划线、美元符号或数字,区分大小写 +* 不能与关键字同名 ,如while、for和if等 + + + +### 五、循环 + +#### 1、while循环和do...while循环 + +##### (1) while循环打印1-10. + +``` +var i = 1; +while(i <= 10) +{ + document.write(i+"
") + i++; +} +``` + +##### (2) do...while循环打印1-100. + +``` +var i = 1; +do +{ + document.write(i+"
") + i++; +}while(i <= 10); +``` + +#### 2、while和do...while区别 + +##### (1) while先判断后执行,do...while先执行后判断 + +##### (2) 如果将上述程序修改成var i = 11,while循环将一次都不执行,而do...while会至少执行一次 \ No newline at end of file diff --git "a/16\350\203\241\345\277\227\346\226\207/\347\254\224\350\256\260/20221010JS\347\254\224\350\256\260.md" "b/16\350\203\241\345\277\227\346\226\207/\347\254\224\350\256\260/20221010JS\347\254\224\350\256\260.md" new file mode 100644 index 0000000..dbc1e1e --- /dev/null +++ "b/16\350\203\241\345\277\227\346\226\207/\347\254\224\350\256\260/20221010JS\347\254\224\350\256\260.md" @@ -0,0 +1,294 @@ + + + + +## 1,JS基本数据类型有哪些? + + numbers , string , null , undefined , boolean, (symbol , bigint) + +## 2,JS引用数据类型有那些? + + 数组array 方法 function 对象 object + +## 3,其它?null , undefined + +//undefined: 声明未赋值 + +//null: 空指针引用 + + var a;//undefined + +// console.log(a); + +// var b = null + +// console.log(b); + +## 4,关于string + +// var str = 'Java Script' + +//1.有下标 , 长度 + +// console.log(str[str.length-1]); + +## 6,有哪些String常用函数? + +```javascript +1)length + +var a = "hello"; +console.log(a.length); //输出字符串长度 + +2)charAt +可返回指定位置的字符。 + +var str = "HELLO WORLD"; +var n = str.charAt(2);//返回的n 为 L + +3)concat +用于连接两个或多个字符串,并返回新的字符串。 + +var str1 = "Hello "; +var str2 = "world!"; +var n = str1.concat(str2); +console.log(n); //输出结果为Hello world! + +4)indexOf +返回某子字符串在该字符串中第一次出现的位置,如果没有找到匹配的字符串则返回 -1。 +备注:该方法区分大小写 + +var str="Hello world, welcome to the universe."; +var n=str.indexOf("welcome"); +console.log(n);//输出结果为13 + +//在字符串第五个位置开始查找字符 "e" 第一次出现的位置: +var str="Hello world, welcome to the universe."; +var n=str.indexOf("e",5); +console.log(n);//输出结果为14 + +5)lastIndexOf +返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。 + +注意: 该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 +开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)。 +如果没有找到匹配字符串则返回 -1。 + +var str="I am from runoob,welcome to runoob site."; +var n=str.lastIndexOf("runoob", 20);//开始检索位置在str[19]处,从后向前检索 +console.log(n); //输出从0开始,字符串第一次出现的位置,n = 10 + +var m=str.lastIndexOf("runoob", 9); //开始检索位置在str[8],从后向前检索 +console.log(m); //输出从0开始,字符串第一次出现的位置,m = -1 + +6)match +在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 + +备注:string.match(RegExp); +规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。 +若RegExp对象有”g”标志,则说明是全局正则函数,将返回一个数组,其中存放了与它找到的匹配文本有关的信息。 +若没有”g”标志,只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。 + +var str = "The rain in SPAIN stays mainly in the plain"; +var n=str.match(/ain/g); //全局查找ain,将返回一个数组 +console.log(n); //["ain", "ain", "ain"] + +var a = "hello"; +var b = ",world"; + +// \w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。 +// + 匹配前面的子表达式一次或多次。 +var re = new RegExp(/^\w+$/); //匹配一个或多个字符 +var is_alpha1 = a.match(re); +console.log("is_alpha1:" + is_alpha1); //is_alpha1:hello + +var is_alpha2 = b.match(re); +console.log("is_alpha2:" + is_alpha2); //is_alpha2:null + +var re3 = new RegExp("\\w+","g"); //带有g标志,全局搜索 +var is_alpha3 = b.match(re3); +console.log("is_alpha3:" + is_alpha3); //is_alpha2:world + + +7)replace +用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 + +string.replace(searchvalue,newvalue); \\用newvalue替换searchvalue + +//字符串替换 +var str = "Visit Microsoft!"; +var n = str.replace("Microsoft","Runoob"); +console.log(n); //Visit Runoob! + +//正则表达式替换 +var str1 = "Mr Blue has a blue house."; +var re=str1.replace(/blue/gi,"red"); //全局搜索且不区分大小写 +console.log(re); //Mr red has a red house. + +8)search +用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。 +返回值为数字,是与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置。如果没有找到任何匹配的子串,则返回 -1。 + +var str="Visit Runoob!"; +var n=str.search("Runoob"); +console.log(n); // n = 6(n 从0开始查找) + +9)slice +slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。 +使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。字符串下标从0开始。 +提示:如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。 + +var str="Hello world!"; +var n=str.slice(1,5); +console.log(n); // ello + +3 +10)split +用于把一个字符串分割成字符串数组。 +string.split(seperator); //seperator作为字符串的分隔符 +提示:该函数不改变原字符串。 + +var str="How are you doing today?"; +var n=str.split(" "); //以空格作为字符串分隔符 +console.log(n); //How,are,you,doing,today? + +//使用空字符串作为分隔符,那么 stringObject 中的每个字符之间都会被分割。 +var str="How are you doing today?"; +var n=str.split(""); +console.log(n); //H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,? + +//使用Limit参数 +var str="How are you doing today?"; +var n=str.split(" ",3); //limit=3,输出数组的前3个值 +console.log(n); //How,are,you + +11)substr +可在字符串中抽取从 开始 下标开始的指定数目的字符。 +提示: substr() 的参数指定的是子串的开始位置和长度,该函数不改变原字符串 + +var str="Hello world!"; +var n=str.substr(2,3); //从第二个下标str[2]开始,提取3个字符 +console.log(n); //llo + +12)substring +用于提取字符串中介于两个指定下标之间的字符。 + +string.substring(from, to); //to可省略,from(包含),to(不包含) +var str="Hello world!"; +var sub1 = str.substring(3); //lo world! +var sub2 = str.substring(3,7); //lo w + +``` + +## 5,关于数组的常用函数? + +### 1. concat(),不改变原数组 + +> **arr1.concat(arr2) 连接两个或多个数组,返回一个新的数组** + +```javascript +const arr1 = [1, 2, 3] +const arr2 = [4, 5] +const newArr = arr1.concat(arr2) +console.log(newArr) // [1, 2, 3, 4, 5] +``` + +### 2. push() & unshift() 添加元素操作,改变了原数组 + +> **push() 向数组的末尾添加一个或多个元素,并返回新的长度** + +```cpp +const arr = [1, 2] +console.log(arr.push(3)) // 3 +console.log(arr) // [1, 2, 3] +``` + +> **unshift() 向数组的开头添加一个或多个元素,并返回新的长度** + +```cpp +const arr = [1, 2] +console.log(arr.unshift(3)) // 3 +console.log(arr) // [3, 1, 2] +``` + +### 3. shift() & pop() 删除元素操作,改变了原数组 + +> **shift() 删除并返回数组第一个元素** + +```cpp +const arr = [1, 2, 3] +const deleteItem = arr.shift() +console.log(arr) // [2, 3] +console.log(deleteItem) // 1 +``` + +> **pop() 删除并返回数组最后一个元素** + +```cpp +const arr = [1, 2, 3] +const deleteItem = arr.pop() +console.log(arr) // [1, 2] +console.log(deleteItem) // 3 +``` + +### 4. sort() 数组排序,改变原数组 + +> **sort() 对数组的元素进行排序** + +```cpp +const arr = [2, 4, 3, 1] +console.log(arr.sort()) // [1, 2, 3, 4] +console.log(arr) // [1, 2, 3, 4] +``` + +- tips: sort() 不按照数组元素数值的大小对数字进行排序,是按照字符编码的顺序进行排序,那怎么样根据元素数值大小进行排序呢? + +```jsx +const arr = [2, 4, 3, 1] +const arr1 = [...arr].sort((a, b) => a - b) +const arr2 = [...arr].sort((a, b) => b - a) +console.log(arr1) // [1, 2, 3, 4] +console.log(arr2) // [4, 3, 2, 1] +``` + +### 5. reverse() 反转数组,改变原数组 + +> **reverse() 颠倒数组中元素的顺序** + +```cpp +const arr = [2, 4, 3, 1] +console.log(arr.reverse()) // [1, 3, 4, 2] +console.log(arr) // [1, 3, 4, 2] +``` + +### 6. splice() 更新数组,改变原数组 + +> **arr.splice(index, howmany, item1, ..., itemX) 向/从数组中添加/删除项目,然后返回被删除的项目,返回含有被删除的元素的数组,若没有删除元素则返回一个空数组。** + +- [index] 必传项,整数,规定添加/删除项目的位置,负数表示从数组结尾处规定位置 +- [howmany] 必传项,要删除的项目数量。如果设置为 0,则不会删除项目 +- [item1, ..., itemX] 可选。向数组添加的新项目。 + +```jsx +const arr = [1, 2, 3] +const arr1 = arr.splice(2, 1) +console.log(arr1) // [3] +console.log(arr) // [1, 2] + +const arr2 = arr.splice(1, 0, 'ss') +console.log(arr2) // ['ss'] +console.log(arr) // [1,'ss', 2] +``` + +### 7. slice() 截取数组,不改变原数组 + +> **arr.slice(start, end) 从start处开始选取(不包括该元素),从end处结束选取,如果为空的话,那么选取从start到数组结束的所有元素。负数代表方向,从数组尾部开始计算位置** + +```cpp +const arr = [1, 2, 3, 4, 6] +console.log(arr.slice(1)) // [2, 3, 4, 6] +console.log(arr.slice(1, -2)) // [2, 3] +console.log(arr.slice(-3, 1)) // [2] +console.log(arr) // [1, 2, 3, 4, 6] +``` + diff --git "a/\347\254\224\350\256\260/\346\226\260\345\273\272 \346\226\207\346\234\254\346\226\207\346\241\243.txt" "b/\347\254\224\350\256\260/\346\226\260\345\273\272 \346\226\207\346\234\254\346\226\207\346\241\243.txt" deleted file mode 100644 index 48ad14d..0000000 --- "a/\347\254\224\350\256\260/\346\226\260\345\273\272 \346\226\207\346\234\254\346\226\207\346\241\243.txt" +++ /dev/null @@ -1 +0,0 @@ -钉钉 \ No newline at end of file -- Gitee