首页 > 代码库 > js基础整理
js基础整理
JS对大小写敏感,JS会忽略多余空格
JS变量以字母为开头,也能用$和_开头,同样对大小写敏感
var用来声明变量,ES6的写法则使用let(对于es6的支持程度不同浏览器做的不一样,想要保证运行需转译成es5,但是es6是趋势)
var aaa = "aaa"; var AAA="AAA"; console.log(aaa,AAA);//aaa AAA
一条语句可以声明多个变量,使用[,]进行分隔即可
var aaa = "aaa",AAA = "AAA";
声明的变量如果为赋值,则默认为undefined
var bbb; console.log(bbb);//undefined
JS中有变量提升,var或者function关键字进行声明的变量和函数,会在编译时事先进行编译,而后才对其进行赋值
console.log(ccc); var ccc = "ccc"; //上下两部分是等价的 var ccc; console.log(ccc); ccc = "ccc";
JS中的变量具有动态的变量类型,会根据你赋予的值来决定该变量是字符串、数字、布尔、数组、对象、Null、Undefined(JS中只有这几种变量类型)
var x // x 为 undefined var x = 6; // x 为数字 var x = "Bill"; // x 为字符串
可以通过将变量的值设置为 null 来清空变量。
JS会对代码进行拆行(不推荐)
document.write("Hello World!"); document.write ("Hello World!"); //这种写法错误
JS对象
在JS中万物皆对象,甚至于字符串、数字、数组也都是对象。不同的对象拥有不同的【属性】和【方法】
一般可以使用【objectName.propertyName】来查询一个对象的某一个属性。下面的例子里面message作为一个字符串对象,默认拥有length属性
var message="Hello World!"; console.log( message.length );//12
一般可以使用【objectName.methodName()】来调用一个对象的某一个方法。下面的例子里面message作为一个字符串对象,调用了toUpperCase方法将其转化为大写
var message="Hello World!"; console.log( message.toUpperCase() );//HELLO WORLD!
JS函数
js函数有如下四种声明方式,其中第一种第二种等价,第三种可以同时使用func3和func4调用,第四种则是使用构造函数的方式直接声明变量类型为function
function func1(num1,num2){ // do something arguments } var func2 = function(num1,num2){ //do something } var func3 = function func4(num1,num2){ //do something } var func5 = new Functon();
js可以声明匿名函数(通常只能调用一次),声明时可以不声明形参,可以使用arguments数组来获取传递的参数(虽然arguments数组有length属性,但是却没有正常数组所拥有的其他方法)
js函数可以使用return规定返回值,默认为undefined。同时也经常使用return来打断并推出函数执行。
在js函数中通过var、const或者let等声明的变量均为局部变量,在函数调用结束后销毁(特例情况是【闭包】),但是如果对未声明的变量直接进行赋值,则默认该变量为全局变量。
JS运算符
+、-、*、/、%(取余)、++(累加)、--(累减)
=(赋值)、+=(x+=y等价于x=x+y)、-=、*=、/=、%=
※对字符串使用【+】则是执行字符串拼接操作,同时如果数字与字符串使用【+】则默认字符串拼接
比较以及逻辑运算符:==(判断值是否相等),===(同时判断值与数据类型是否相等)【具体参考链接】、!=(不等于)、>、<、>=、<=、&&(与)、||(或)、!(非)
JS循环
if、if...else、if...else if...else if... 最基础最常用的条件判断
switch...case ... case...default... 每个case选择中的末尾使用break打断,防止过度判断;使用default来设定没有任何case匹配情况下的事件。但是这种方式目前使用较少
for循环,js中目前最常用的循环方式
for(语句1; 语句2;语句3){循环代码}
语句1:循环开始的初始值;语句2:满足该条件则执行循环,每次执行循环代码之前都会进行一次语句2的判定;语句3:循环代码执行之后执行语句3,一般用来递归循环值用于语句2的判断
语句123其实都不是必须的,同时语句1也可以设定多个值。语句2在特殊情况下也可以舍弃,不过就需要在循环代码中加入break来打断循环,否则循环有可能无限进行导致程序崩溃。
for...in用来循环遍历对象中的属性
var obj = { name:123, age:456 } for (var abc in obj) { console.log( abc + ":" + obj[abc]);//name:123//age:456 }
while循环,目前使用较少
do...while,先执行一次do,再进行while的条件判断
在JS的任何循环语句中,都可以使用【break】来终止循环,使用【continue】来跳过循环中的某一个迭代。(break通过标签引用,实际上可以跳出JS的任意代码块,只不过不常用)
js基础整理