Во-первых, введение JavaScript способа введения
Написать код в теге Script
<Script> // здесь , чтобы написать JS код </ SCRIPT>
Вводя дополнительный файл JS
<Сценарий SRC = "myscript.js"> </ скрипт>
Во-вторых, JavaScript язык спецификации
банкнота
// Это однострочный комментарий / * Это многострочный комментарий * /
терминатор
JavaScript заявления в точку с запятой (;) в качестве терминатора.
Три, JavaScript язык основы
объявление переменной
имена переменных JavaScript могут быть использованы _, цифры, буквы, $ композиции, не может начинаться с цифры. Объявляет переменные уаг имя переменной; объявить формат
Имя вар = "Alex"; вар возраст = 18;
Примечание:
Имена переменных чувствительны к регистру.
Рекомендуемые правила верблюда именования.
Зарезервированные слова не могут быть использованы в качестве имен переменных.
Он добавил:
ES6 добавил пусть команду, используется для объявления переменных. Его использование аналогично вар, но переменная, объявленная действует только в том блоке, где команда пусть. Например: очень подходит счетчик цикла пусть команда.
для (пусть я = 0; я <arr.length; я ++) {...}
ES6 добавить сопзЬ объявить константу. После объявления, его значение не может быть изменено.
Const PI = 3,1415 ; PI // 3,1415
JavaScript не различает между целым числом и типом с плавающей точкой, есть только один цифровой вид. С плавающей запятой в целое преобразование можно также использовать ParseInt
String (String)
вар а = "Hello" вар б = " мир; вар с = а + Ь; console.log (с); //得到Helloworld
// обычная строка `Это простая строка! ` @ Многострочный текст ` Это многострочный текст ` @ строка встроенная в переменной вар имени =«Джейсон», Time =«Сегодня» , ` вводных $ {имя}, {Time Как вы $} «?
Логическое значение (Boolean)
В отличие от Python, истина и ложь в нижнем регистре.
вар А = истина ; вар B = ложь ; «» (пустая строка), 0, NULL , не определено, NaN 3 являются ложными.
нуль 和 не определено
null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null; undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。
数组
var a = [123, "ABC"]; console.log(a[1]); // 输出"ABC"
类型查询
算数运算符
比较运算符
逻辑运算符
四、流程控制
if-else
if-else if-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
for
for (var i=0;i<10;i++) { console.log(i); }
while
var i = 0; while (i < 10) { console.log(i); i++; }
三元运算
五、函数
函数中的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
函数的全局变量和局部变量
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
自定义对象
创建对象
Date对象
创建Date对象
//方法1:不指定参数 var d1 = new Date(); console.log(d1.toLocaleString()); //方法2:参数为日期字符串 var d2 = new Date("2004/3/20 11:12"); console.log(d2.toLocaleString()); var d3 = new Date("04/03/20 11:12"); console.log(d3.toLocaleString()); //方法3:参数为毫秒数 var d3 = new Date(5000); console.log(d3.toLocaleString()); console.log(d3.toUTCString()); //方法4:参数为年月日小时分钟秒毫秒 var d4 = new Date(2004,2,20,11,12,0,300); console.log(d4.toLocaleString()); //毫秒并不直接显示
Date对象的方法:
var d = new Date(); //getDate() 获取日 //getDay () 获取星期 //getMonth () 获取月(0-11) //getFullYear () 获取完整年份 //getYear () 获取年 //getHours () 获取小时 //getMinutes () 获取分钟 //getSeconds () 获取秒 //getMilliseconds () 获取毫秒 //getTime () 返回累计毫秒数(从1970/1/1午夜)
JSON对象
RegExp对象
// 定义正则表达式两种方式 var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}"); var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/; // 正则校验数据 reg1.test('jason666') reg2.test('jason666') /*第一个注意事项,正则表达式中不能有空格*/ // 全局匹配 var s1 = 'egondsb dsb dsb'; s1.match(/s/) s1.match(/s/g) var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/g reg2.test('egondsb'); reg2.test('egondsb'); reg2.lastIndex; /*第二个注意事项,全局匹配时有一个lastIndex属性*/ // 校验时不传参数 var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/ reg2.test(); reg2.test(undefined); var reg3 = /undefined/; reg3.test();
坑点集锦:
1.正则表达式中千万不要写空格
2.全局匹配模式lastindex
3.匹配的时候不传任何参数默认匹配undefined