js语言基础

1.变量

在js中通常以var来声明,可以用来存储数据,可以更改

2.常见的输出方式

2.1 document.write()(方法)

  • 将节点直接写入body(文档)标签中

2.2 console.log()

  • 控制台输出语句,可以正常地编译代码
  • 延申:console的输出语句都有什么

2.3 alert()

  • 弹出框语句

3.运算符

3.1 算数运算符

  • (+ - * / %)
    %:取余,直接获取到除不尽的余数
    // +
    var num1=a;
    var num2=b;
    console.log(a + b);
    // -
    console.log(b - a);
    console.log(a - b);
    // *
    console.log(a * b);
    // /
    console.log(a / b);
    console.log(b / a);
    // %(取余)
    console.log(b % a);

3.2 关系运算符

  • < > <= >=
    ==:等于,判断值是否相等
    ===:全等,判断值和数据类型是否都相等
    !=:不等,判断值是否不相等
    !==:全不等,判断值和数据类型是否不相等
    // 等于和全等  关系运算符的结果都是布尔值true=>等式成立 false=>等式不成立
    console.log(1=="1");
    // == 等于 在判断的时候只需要值相等就行类型不用想等
    console.log(1==="1");
    // === 全等号在判断的时候值和数据类型必须完全一样
    // != 不等于,只需要判断值不需要判断数据类型
    // !== 全不等,值和数据类型都要判断
    // 字符串的判断规则
    // 所有的字符串(字符数字以及大小写英文字母)也能进行大小的判断
    // 判断规则依据 ASCII编码
    console.log("A" < "1");
    // 多个字母比较
    // 多个字母机型比较 只比较第一个
    console.log("abc"<"cba");
    // 48~57 0~9
    // 65~90 大写英文字母
    // 97~122 小写英文字母

3.3 逻辑运算符

  • &&
    且,必须是符号两边的判断条件都成立,结果才为true
    var x=5;
    var y=10;
    // && 且
    // 两边的条件必须都成立
    console.log(x==5 && y==10);
  • ||
    或,符号两边的判断条件只要有任意一个成立结果就为true
    // ||或
    // 两边的条件一个成立就可以
    console.log(x==6 || y==10);

  • 非,取反当判断条件为true的时候取反为false反之为true
    // !非
    // 取反 如果条件是true结果就为false反之结果为true
    console.log(!true);
    console.log(!(x==y));

4. 基础数据类型

  • 数字类型(数值类型)number
    可以进行算术运算+为两个数相加
    // 数值
    var a = 1;
  • 字符串 String
    由""或''抱起来的字符就是字符串
    在es6中有字符串的新写法---模板字符串``
    特点:方便 快捷 可以换行
    不用字符串拼接,变量的解析使用${}
    字符串拼接,使用+来拼接两个字符串
    var a = "asdasdasdasd";
    var a = 'asdasdasdasd';
    html=html+`<div class='box${i}'>${i}</div>`;
  • 布尔类型Boolean
    true和false 是一个特殊的数据类型,相当于是一个被动属性,其他数据类型的数据基本上都有布尔值
    数字0:false
    Undefined:false
    NULL:false
    非0的数字:true
    字符串:true
    (只有一个变量里面有值且值不是false则他的布尔值都是true)
  • 数组Array
    数组通常由中括号所包含,里面的元素由逗号分隔开,每个元素都有其相对应的索引值(数组的下标)
    索引值:是由0开始按顺序依次递增的正整数,当数组中的元素被删除的话索引值不会删除,而是由下一个元素补上。
var arr=new Array[];
console.log(arr);
var arr=[1,2,3,4,5];
var a=arr.length;
var b=arr[索引值];
  • 对象 Object
    对象由{}包含,里面的数据以键值对的形式存在
    数据都是以逗号隔开,冒号前面的键通常是以字符串或变量的形式存在(这里的变量不用声明),冒号后面叫值可以是任意数据类型的数据
    对象中有一种特殊的对象叫JSON对象
var obj={
      "name":"张三";
      "age":18;
      "sex":"男";
}
var json={
      "school":[
            {
                "name":"蓝鸥1",
                "age":"20年"
            },
           {
                "name":"蓝鸥1",
                "age":"20年"
            },
        ],
       "class":[
            {
                "html":4,
                "java":"5
            },
        ]
}
  • 特殊数据类型 undefined null

5.数组

  • 数组的声明方式
    构造函数
var arr=new Array();
//可以声明一个指定长度的空数组 var
arr=new Array(10);
//也可以声明一个含有具体元素的数组var
arr=new Array(1,2,3,4,5);
//注意元素数量必须大于等于2

字面量

var arr=[1,2,3,4,5];
  • 获取数组中的元素
    以数组名[索引值]的形式来获取数组中的元素,要想获取数组中的每一个元素就得使用for循环
  • 数组的属性
    length属性 arr.length,直接获取到数组长度(数组的长度就是数组中元素的个数)
  • 数组的操作方式
    1.push() 末尾添加
    向数组末尾添加一个元素并返回新数组的长度
var arr=[1,2,3,4,5];
arr.push('qwe');
console.log(arr);

2.pop() 末尾删除
将数组的最后以为删除并返回被删除的那个元素

    var arr=[];
    var b=arr.pop();
    console.log(arr);
    console.log(b);

3.unshift() 首位添加
向数组开头添加一个元素并返回新数组的长度

    var arr=[1,2,3,4,5,6,7,8,9];
    var a=arr.unshift('asd');
    console.log(arr);
    console.log(a);

4.shift() 首位删除
将数组的第一个元素删除并返回被删除的那个元素

    var arr=[1,2,3,4,5,6,7,8,9];
    var a=arr.shift();
    console.log(arr);
    console.log(a);

5.splice(index,howmany,item)定性添加或删除
三个参数:
index:添加或删除的元素的索引值(元素的位置)添加或删除多个元素的时候index就是起始位置
many:删除的数量,不删除的时候就写0
item:需要添加的元素可以是添加多个元素的时候以逗号隔开,不添加就不写
添加和删除可以同时进行,但是仅限同位置,返回值:删除的时候会将删除的元素以数组的形式返回出来,添加的时候只返回空数组

var arr=[1,2,3,4,5];
 // 删除arr数组中第二个元素(索引值为1)
var a=arr.splice(1,1);
console.log(arr);//[1,3,4,5]
console.log(a);//[2]

6.concat() 拼接两个数组
将两个数组合成一个数组,哪个数组使用concat方法,拼接的时候哪个数组就在前面,不会改变原有的数组,会将新和成的数组以返回值的方式返回出来

var arr=[1,2,3];
var arr1=[4,5,6];
var a=arr1.concat(arr);
console.log(arr);
console.log(arr1);
console.log(a);

7.indexOf()
查找数组中的某个元素,如果能找到就返回这个元素的索引值,如果找不到就返回-1,如果数组中存在多个重复目标元素则返回第一个目标元素的索引值

var arr=[5,4,3,2,1,3];
var a =arr.indexOf(3);
console.log(a);
console.log(arr);
// 数组去重
var arr=[];
for(var i=0;i<10;i++){
arr[i]=Math.round(Math.random()*(9-1)+1);
 }
console.log(arr);
var arr1=[];
for(var i=0;i<arr.length;i++){
     if(arr1.indexOf(arr[i])==-1){
             arr1.push(arr[i]); 
        }
 }
console.log(arr1);

8.join()
将数组转换成字符串不会改变原有的数组,会将转化完毕的字符串以返回值的形式返回出来,join()在不设置的情况下默认将每个元素以逗号隔开然后转化为字符串,在设置的情况下设置什么就以什么隔开,如果设置为空字符串则不隔开元素,所有元素连在一起。

var arr=[1,2,3,4,5,6];
var a=arr.join('');
console.log(a);
console.log(arr);
console.log(typeof(a));
  • 多维数组
    当数组中的元素还是数组它就是多维数组
    一维数组:数组中的元素不是数组
    二维数组:数组中的元素是一层数组
    三维数组:数组中的元素是两层数组

6.分支语句

  • if...else
if(判断条件1){
      //只符合判断条件1后执行的代码
}
else if(判断条件2){
      //不符合判断条件1,但符合判断条件2执行的代码,注意!else if可以有多个,当else if有多个的时候按顺序判断其是否符合条件。
}
else{
      //没有判断条件,当if和所有else if的判断条件都不满足时执行else中的代码,else可以不写
}
<!--
      判断条件可以是条件语句,也可以是变量,当是变量的时候则会根据这个变量的布尔值进行判断
--!>
  • switch...case
switch(变量){
      case 常量值1:
              //当变量等于常量值1时执行的代码
               break;
      case 常量值2:
              //当变量等于常量值2时执行的代码
               break;
       .
       .
       .
       default:
              //当变量不等于所有的常量值时执行的代码
}

7.循环语句

  • while循环
var i=0;
while(i<10){
      console.log(i);
      i++;
}
  • do...while
do{
        //执行的代码
}
while(判断条件);
var i=0;
do{
      console.log(i);
      i++;
}
while(i<10);
  • for
for(声明变量并赋予初始值;对变量进行条件判断;变量的自增或自减){
        //当变量满足判断条件时执行的代码,如果变量不满足条件则不执行代码并跳出循环
}
for循环的执行顺序
       //先对变量进行判断=>满足条件执行代码=>变量自增或自减=>对变量进行判断=>...

8.字符串和数值之间的转换

  • 给字符串数字*1=>"2" * 1
    因为做乘法运算时系统会默认将字符串转化成数字
  • parseInt
    将小数转化为整数(直接舍去小数部位)
    还能将字符串数字转化成数字
  • 将数字转化成字符串的时候,只需要给数字拼接一个空字符串""就行
    注意:将字符串转化成数字的时候
    ”123“=>123
    "123qwe123"=>123
    "qwe123"=>NaN
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容