注意: JavaScript中的语句要以分号(;)为结束符
注意: JavaScript中的语句要以分号(;)为结束符
注意: JavaScript中的语句要以分号(;)为结束符
引入方式:
直接用标签
引入额外的js文件
Title s14
语法:
- JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头。
- 声明变量使用 var 变量名; 的格式来进行声明
- JavaScript中的语句要以分号(;)为结束符。
数据类型: (字符串, 数字,布尔值,null,undefined,对象)
字符串 :
var name = "alex";var firstName = "Lee"; // 驼峰式命名console.log(firstName);console.log(name);
字符串方法:
// var name = "alex";// var firstName = "Lee"; // 驼峰式命名;// console.log(firstName);// console.log(name);var name = ' niuli 哇咔咔'console.log(name);/* 查看字符串长度 */name.length;// 删除字符串两侧空格name = name.trim();console.log(name);// 返回第几个字符(索引字符)console.log(name.charAt(1));// 字符串拼接 //var name1 = 'GIANT';var name2 = 'MERIDA';var name3 = name.concat(name1,name2);console.log(name3);name = name3;// 查找字符串,从指定索引位置开始,若没找到,返回-1console.log(name.indexOf('哇咔咔',20));console.log(name.indexOf('哇咔咔',0));// 切片取字符串console.log(name);console.log(name.substr(0,3));console.log(name.substring(0,3));// 切片取字符串console.log(name.slice(6,10));// 分割字符串 //console.log(name.split(' '));
ES6中引入了模板字符串。模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当做普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。
// 普通字符串`这是普通字符串!`// 多行文本`这是多行的文本`// 字符串中嵌入变量var name = "q1mi", time = "today";`Hello ${name}, how are you ${time}?`
数字:Number
NaN,表示不是一个数字(Not a Number)
var a = 12.34;var b = 20;var c = 123e5; // 12300000;var d = 123e-5; // 0.00123;
常用方法: ( parseInt parseFloat 转换数字类型 )
parseInt("123") // 返回123;parseFloat("123.456") // 返回123.456;parseInt("ABC") // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。;
布尔值 :Boolean
var a = true;var b = false;
""(空字符串)、0、null、undefined、NaN都是false。
null undefined
- null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;
- undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。
null表示变量的值是空,
undefined则表示只声明了变量,但还没有赋值。
对象: object
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...此外,JavaScript 允许自定义对象。
数组: (列表)
var a = [1,2,3,4];var b = ['a','b','c','d']console.log(a)console.log(b)
常用方法:
console.log(a.length);// 数组末尾追加a.push(5);console.log(a);// 末尾删除,返回一个删除的元素// a.pop();console.log(a.pop());console.log(a);a.unshift('头部添加用unshift');console.log(a);// 头部删除 没有返回值a.shift();console.log(a);// 切片取值a2 = a.slice(0,2);console.log(a2);// 翻转列表a.reverse();console.log(a);a.reverse();console.log(a);// 数组拼接成字符串a3 = a.join('+');console.log(a3);// 删除添加元素/不删除添加元素 返回删除的东西 (可定点插入)// ( 索引开始 索引结束 要添加的元素)a.splice(1,2,'添加的元素');console.log(a);// 按照ASCII码排序a = [2,1,33,55,9,0];a.sort();console.log(a);关于sort()需要注意:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。若 a 等于 b,则返回 0。若 a 大于 b,则返回一个大于 0 的值。function sortNumber(a,b){ return a - b}var arr1 = [11, 100, 22, 55, 33, 44]arr1.sort(sortNumber)
遍历数组中的元素
var a = [10, 20, 30, 40];for (var i=0;i
类型查询
typeof "abc" // "string"typeof null // "object"typeof true // "boolean"typeof 123 // "number"
typeof是一个一元运算符
(就像++,--,!,- 等一元运算符),不是一个函数,也不是一个语句。
对变量或值调用 typeof 运算符将返回下列值之一:
- undefined - 如果变量是 Undefined 类型的
- boolean - 如果变量是 Boolean 类型的
- number - 如果变量是 Number 类型的
- string - 如果变量是 String 类型的
- object - 如果变量是一种引用类型或 Null 类型的
运算符:
1. 算术运算符
+ - * / % ++ --
2. 比较运算符
> >= < <= != == === !==注意:1 == “1” // true1 === "1" // false
3. 逻辑运算符
&& || !
快速把一个变量转换成布尔值
!!1
4. 赋值运算符
= += -= *= /=
流程控制
if else:
a = 10;if (a>5){ console.log('大了')}else { console.log('小了')}
if else if else
b = 10;if (b>10){ console.log('bigger');} else if (b<10) { console.log('smaller!');} else { console.log('ok');}
switch / case, break
today = 2;switch (today) { case 1: console.log('周一吃米饭'); break; case 2: console.log('周二吃面条'); break; case 3: console.log('周三吃馒头'); break;}
switch中的case子句通常都会加break语句,否则程序会继续执行后续case中的语句。
for 循环
a = 10;for (i=0;i
while 循环
i = 0;while (i<10) { console.log(i); i++;}
三元运算
var x = 22;var y = 2;var c = x>y ? x:y
c = x>y ? x:y
c = if ( x>y ) else( ? ) x ( : 或者的意思) y