JavaScript的入门

书写的三种方式

1. 书写在script标签里面(一般会用到的)

2.书写在js文件里面(推荐)
定义一个js文件(xxx.js)

3. 书写对应的事件属性里面(比较少用)

初体验

1. 目前js的代码,必须写在一个script标签里,script的默认type text/javascript
2. alert('字符串')提示框
3. console.log("hi")
4. document.write("在页面上输出")

注释(注释相当于解释这个句话 这个注释是不会被编译的)

1.单行注释 ctrl + /
2.多行注释 ctrl + shift + a

变量定义(使用var关键词声明)

例:var  number  = a

1.使用var关键字,在内存中开辟一个空间,并给空间命名和给空间赋值
声明变量 : var myname="xxx"
2.多个变量 简写:多个变量用","隔开,
var myname="xxx" , age=20 , sex="男";
3.变量的默认值是 undefined 未定义类型
4.查看js的基本数据类型,使用 typeof
例: console.log(typeof "hi")

js属于弱类型语言

1.可以是任意类型的数据
2.数据类型可以被修改

 

变量名的书写(见名知意 区分大小写)

1.只能是数字,字母,下划线,$
2.不能是数字开头
3.不能是关键字或保留字
4.严格区分大小写
5.驼峰命名法
小驼峰: 变量,形参,函数
大驼峰: 类型,构造函数
6.语义化,见名思意

7.普通变量首字母小写
常量全大写(const)

 

 

 

js的数据类型

1.string,number,bool,undefined,null,object
2.值类型数据类型 string,number,bool,undefined,null
3.引用类型 object (Array,Function..)
  4.特殊的值 NaN  --> number
   5.特殊的类型: null,undefined

案例:
1). 字符串 String  由一组双引号或单引号组成的
        var str = 'a';
        var str1 = "b";
        console.log(typeof (str));
        console.log(typeof (str1));

2). 数值类型 Number
        var num1 = 100;
        var num2 = 23.4
        console.log(typeof (num2))

3). boolean 布尔类型,它值 (true/false); 真/假
        var isLogin = true; //已经登录
        var isReg = false; //没注册
        console.log(isLogin); //true

4). undefined 未定义类型
防止程序出错,js会隐式设置一个默认的undefined
        var sex;
        console.log(typeof (sex)); //undefined

5). null  空地址
        var a = null;
        var b = null;

        console.log(b);
6). 对象类型  Object
    a.对象的写法1
        var person = new Object();
        person.name = "杨超越";
        person.age = 22;
        person.address = "上海"
        console.log(person); //{name: '杨超越', age: 22, address: '上海'}
    b.对象的写法2
        var dog = {
            name: "旺财",
            age: 4,
            address: "湖南"
        };
        console.log(dog); //{name: '旺财', age: 4, address: '湖南'}

 

元素类型的转换

 var number = 1
    // 数字转换为字符串
    console.log(number.toString());

    // String 转 number
    var str = 123.12
    console.log(Number(str));
    // 转整数
    console.log(parseInt(str));
    // 转小数
    console.log(parseFloat(str));

    // isNaN 是NaN返回true不是返回false(not a number)
    var a = 10
    console.log(isNaN(a)); //false
    var str = 'abc'
    console.log(isNaN(str)); //true

    // 无穷大 无穷小(Infinity)
    //无穷大
    var max = Infinity
    //无穷小
    var min = -Infinity

    // 将字符串转为对应的boolean类型
    //转为boolean类型 非空就是true 空字符串表示false
    var str = 'abc'
    var b = Boolean(str); //false
    var b1 = Boolean('') //true
    console.log(b, b1);

    // 将number转为布尔类型
    var number1 = 10
    //number转布尔 非0和非NaN则为true NaN和0就是false
    console.log(Boolean(number1)) //true
    console.log(Boolean(0)) //false
    console.log(Boolean(NaN)) //false

    // 将undefined和对应的null转为boolean( false)
    var un
    console.log(Boolean(un)) //false
    console.log(Boolean(null)) //false

    // 将boolean类转为number类型( false 0 true 1)
    console.log(Number(true)) //1
    console.log(Number(false)) //0

    // 将对应的undefined和null转为number
    var un
    console.log(Number(un)) //NaN
    console.log(Number(null)) //0
 

运算符和表达式

1.算术运算
+ - * / % ++(自增) --(自减)

2.拼接运算符:+,加号两边只要有一边出现字符串就是拼接

3.赋值运算符+=,-=,/=,*=
4.逻辑运算符:
与 & 找假
或 || 找真
非! 取反
&& || 被称为短路运算符

自增和自减的前置和后置的区别

前置先执行对应的++(--) 再执行对应的代码
后置先执行对应的代码 再执行++(--)

列如:

  //俩个number相加
     
  console.log(2 + 1); //3
    //一个string和number相加 连接操作 自动转为string 字是黑色的属于字符串
    console.log('123' + 1); //1231
        //boolean类型和null和undefined小于number 自动转为number
        console.log(true+1);//2
        //- * / % 全部会转为number类型进行操作
        console.log('12'-1);//11
        console.log(true-1);//0
        console.log(undefined-1);//NaN 出现NaN计算结果一个是NaN
        console.log(null-1);//-1
        console.log(true*3);//3
        //% 取余 取模
        //大数取余小数 得到的是余数 小数取余大数得到小数
        console.log(6%3);//0
        console.log(7%3);//1
        console.log(4%3);//1
        console.log(3%4);//3
 
 //++ 在原本的基础上+1  -- 在原本的基础上减一
     var i = 1
        //前置(先执行++(--)操作 再进行对应的代码块的执行)和后置 (先执行代码块再进行 ++(--)操作)
        console.log(i++);//1
        console.log(i);//2
        console.log(++i);//3
        console.log(i--);//3
        console.log(i); //2
        console.log(--i);//1
        //计算顺序 先算括号里面的 ++或-- 再进行乘除取余 再进行 + -
        console.log(++i * 10); //20
 
// 赋值运算符+=,-=,/=,*=
        var a = 10
        a+=10 //=a+10
        a/=10 //2
        a*=5 //10
        console.log(a);
 

位运算(转为二进制再进行位的变化运算)

>> 右移 << 左移 ~~ 去掉小数

例如:如何最快从2变成16

  var i = 2
        //位运算 快速从2得到8 二进制满2进1   值1  0
        //2的二进制就是10  ==>   16的二进制就是10000
        //左移后面是进行补零操作 最后一位是多少就是多少 0 + 2^0*1 +2^2*0 +2^3*0 +2^4*1=16     <<3相当于补了3个0
        console.log(2<<3);
 

三元运算符(三目运算符)

  // 表达式(boolean类型表达式)? true的内容 :false的内容
    var a = 1
    var b = 2
    console.log(a < b ? 1: 2); //1
    console.log('123a' / 10 ? 'hello' : 'hi'); //hi )
 

number保留几位小数的方法 toFixed

  
  var number1 = 3
   var number2 = 10
    //默认的大小16位 整数位也是16位 超出不能显示(可以通过特殊方法解决)
    console.log(number2 / number1); //3.3333333333333335
    //保留小数(方法会优先调用) 转成字符串
    console.log((number2 / number1).toFixed(3));//3.333



 

posted @   星辰大海呀呀呀呀  阅读(62)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示