首页 > 代码库 > 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、UndefinedJS中只有这几种变量类型

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基础整理