js语言: JavaScript: javascript是脚本语言,是一种轻量级的编程语言。 javascript是可插入HTML页面的编程代码 JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。 javascript 的引入方式: 1,在<head></head>内的Script标签内写代码 <script> // 在这里写你的JS代码 </script> 2,引入额外的js文件,及创建一个js文件,在里面写好你的代码 <script src="myscript.js"></script> javascript 的注释: // 表示单行注释 /* 多行注释 多行注释 */ 结束符号以分号(;)为结束符 变量声明: var 关键字声明, 用法:var 变量名, 变量名不能以数字开头 var name = ‘jerry‘; var age = 38; 或者 let name = ‘jerry‘; let声明的变量在局部有效 不会影响全局相同的变量名 var声明的变量是作用与全局 直接改变了全局的 注意: 变量名是区分大小写的, 推荐使用驼峰式命名规则, 不要用关键字去做变量名 常量: 用 const来声明常量,一旦声明,其值就不能改变 const PI = 3.1415; javascript 数据类型: Javascript拥有动态数据类型 var x;// 此时x就是undefined var x = 1; // 此时x就是数字 var x = ‘Alex‘ // 此时x就是字符串 数值类型Number(类似整型+浮点型)在这里不区分整型和浮点型,统称数值类型 var a = 12.34; var a = 20 数值类型中有一种特殊的叫NaN , 它是数值类型,但是表示不是数字 常用方法: parseInt("123") // 返回123 parseInt("ABC") // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。 parseFloat("123.456") // 返回123.456 parseInt("123.456") // 返回的是123 不能识别小数点,所以要转就用parseFloat 字符串类型 String 字符串用单引号,和双引号 单行文本可以用单引号,双引号 多行文本用~ 多行文本~ 即用~ ~ 此~还可以做替换,和%s作用一样 在这里正常的替换用$符,叫模板字符串 字符串的常用方法
方法 | 说明 |
.length | 返回长度 |
.trim() | 移除空白 |
.trimLeft() | 移除左边的空白 |
.trimRight() | 移除右边的空白 |
.charAt(n) | 返回第n个字符,返回的是字符,括号中的n是索引号 |
.concat(value, ...) | 拼接 |
.indexOf(substring, start) | 子序列位置,通过字符获取索引 |
.substring(from, to) | 根据索引获取子序列 |
.slice(start, end) | 切片 |
.toLowerCase() | 小写 |
.toUpperCase() | 大写 |
.split(delimiter, limit) | 分割 |
拼接字符串一般使用“+” string.slice(start, stop)和string.substring(start, stop): 两者的相同点:如果start等于end,返回空字符串如果stop参数省略,则取到字符串末如果某个参数超过string的长度,这个参数会被替换为string的长度 substirng()的特点:如果 start > stop ,start和stop将被交换如果参数是负数或者不是数字,将会被0替换 silce()的特点:如果 start > stop 不会交换两者如果start小于0,则切割从字符串末尾往前数的第abs(start)个的字符开始(包括该位置的字符)如果stop小于0,则切割在从字符串末尾往前数的第abs(stop)个字符结束(不包含该位置字符)
s1 = ‘eghui‘ s1.substring(0,5) 切片不支持负数,所以了解即可 s1.slice(0,-1) 切片推荐使用slice s2.split(‘|‘,1) 1 表示从切完的结果后拿出一个结果,切完是数组(即python中的列表) 如果数字超出,就拿最多,不会报错 布尔类型:(全部小写) true 或 false var a = true; var b = false; ""(空字符串)、0、null、undefined、NaN都是false。 null和undefined 的区别: null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null; 即它有,但是为空 undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。 还有就是函数无明确的返回值时,返回的也是undefined。即只声明了变量,没赋值; 重点;null表示变量的值是空(null可以手动清空一个变量的值,使得该变量变为object类型,值为null), undefined则表示只声明了变量,但还没有赋值。 数组:(相当于python中的列表) 数组对象的作用是:使用单独的变量名来存储一系列的值 var a = [123, "ABC"]; console.log(a[1]); // 输出"ABC"
方法 | 说明 |
.length | 数组的大小 |
.push(ele) | 尾部追加元素 |
.pop() | 获取尾部的元素 |
.unshift(ele) | 头部插入元素 |
.shift() | 头部移除元素 |
.slice(start, end) | 切片 |
.reverse() | 反转 |
.join(seq) | 将数组元素连接成字符串 |
.concat(val, ...) | 连接数组 |
.sort() | 排序 |
.forEach() | 将数组的每个元素传递给回调函数 |
.splice() | 删除元素,并向数组添加新元素。 |
.map() |
返回一个数组元素调用函数处理后的值的新数组 |
类型查询: typeof是一个一元运算符(就像++,--,!,- 等一元运算符),不是一个函数,也不是一个语句。 对变量或值调用 typeof 运算符将返回下列值之一: undefined - 如果变量是 Undefined 类型的 boolean - 如果变量是 Boolean 类型的 number - 如果变量是 Number 类型的 string - 如果变量是 String 类型的 object - 如果变量是一种引用类型或 Null 类型的运算符 算数运算符 + - * / % ++ -- var x=10; var res1=x++; var res2=++x; res1; 10 res2; 12 这里由于的x++和++x在出现赋值运算式, x++会先赋值再进行自增1运算,而++x会先进行自增运算再赋值! 比较运算符 > >= < <= != == === !== 1 == “1” // true 弱等于 1 === "1" // false 强等于 //上面这张情况出现的原因在于JS是一门弱类型语言(会自动转换数据类型), 所以当你用两个等号进行比较时,JS内部会自动先将数值类型的1转换成字符串类型的1再进行比较, 所以我们以后写JS涉及到比较时尽量用三等号来强制限制类型,防止判断错误 逻辑运算符 && || ! (and or not) 赋值运算符 = += -= *= /=流程控制: 一,if-else if (条件1){满足条件1的代码块1} else if(条件2){满足条件2的代码块;} else{以上条件都不满足的代码块}; 案列: var a = 10; if (a > 5){ console.log("a > 5"); }else if (a < 5) { console.log("a < 5"); }else { console.log("a = 5"); } 二:switch switch中的case子句通常都会加break语句, 否则程序会继续执行后续case中的语句。 var day = new Date().getDay(); switch (day) { case 0: console.log("Sunday"); break; case 1: console.log("Monday"); break; default: console.log("...") } for for (var i=0;i<10;i++) { console.log(i); } while var i = 0; while (i < 10) { console.log(i); i++; } 三元运算 var a = 1; var b = 2; var c = a > b ? a : b 这里的三元运算顺序是先写判断条件a>b 如果条件成立就是冒号前面的值a 条件不成立就是冒号后面的值b 三元运算可以嵌套使用 var a=10,b=20; var x=a>b ?a:(b=="20")?a:b; x 10函数: JavaScript中的函数和Python中的非常类似,只是定义方式有点区别 普通函数定义 function f1() { console.log("Hello world!"); } 带参数的函数 function f2(a, b) { console.log(arguments); // 内置的arguments对象 console.log(arguments.length); console.log(a, b); } 带返回值的函数 function sum(a, b){ return a + b; } sum(1, 2); // 调用函数 匿名函数方式 var sum = function(a, b){ return a + b; } sum(1, 2); // 立即执行函数 书写立即执行的函数,首先先写两个括号()()这样防止书写混乱 (function(a, b){ return a + b; })(1, 2); ES6中允许使用“箭头”(=>)定义函数。 var f = v => v; // 等同于 var f = function(v){ return v; }如果箭头函数不需要参数或需要多个参数,就是用圆括号代表参数部分 var f = () => 5; // 等同于 var f = function(){return 5}; var sum = (num1, num2) => num1 + num2; // 等同于 var sum = function(num1, num2){ return num1 + num2; //这里的return只能返回一个值,如果想返回多个值需要自己手动给他们包一个数组或对象中 }函数中的arguments参数 function add(a,b){ console.log(a+b); console.log(arguments.length); console.log(arguments[0]);//arguments相当于将出传入的参数全部包含,这里取得就是第一个元素1 } add(1,2) 输出为 3 2 1 注意: 函数只能返回一个值,如果要返回多个值,只能将其放在数组或对象中返回。 函数的全局变量和局部变量 局部变量: 在JavaScript函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它(该变量的作用域是函数内部)。只要函数运行完毕,本地变量就会被删除。 全局变量: 在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。 变量生存周期: JavaScript变量的生命期从它们被声明的时间开始。 局部变量会在函数运行以后被删除。 全局变量会在页面关闭后被删除。 作用域 首先在函数内部查找变量,找不到则到外层函数查找,逐步找到最外层。与python作用域关系查找一模一样! 例子: var city = "BeiJing"; function f() { var city = "ShangHai"; function inner(){ var city = "ShenZhen"; console.log(city); } inner(); } f(); //输出结果是?ShenZhen var city = "BeiJing"; function Bar() { console.log(city); } function f() { var city = "ShangHai"; return Bar; } var ret = f(); ret(); // 打印结果是? BeiJing var city = "BeiJing"; function f(){ var city = "ShangHai"; function inner(){ console.log(city); } return inner; } var ret = f(); ret(); ShangHai
原文地址:https://www.cnblogs.com/Fzhiyuan/p/11483171.html
时间: 2024-08-25 00:58:50