锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

前端学习第五周-js基础,定义变量,数据类型,基础数据的显式转换和隐式转换,以及运算符

时间:2022-11-29 19:00:00 2静态交流断电延时继电器zsj

文章目录

  • 前言
  • 一、 变量
    • 1.定义变量
    • 2.数据类型
      • 1.string字符串
      • 2.Boolean
      • 3.number
      • 4.null
      • 5.undefined
  • 二、基础数据识别转换
    • 显式转换
      • 1.将其他类型转换为字符串
        • 1. ` ` 连接符 ///在不同类型的背面连接一个空串
        • 2.toString() //null和undefined不适用
        • 3.String()
      • 2.其他类型转换为数字
        • 1.number() ///需要纯数字字符串或科学计数法e
        • 2.parseInt() 3.parseFloat //字符串必须从数字开始才能提取数字
      • 3、其他的类型转换成boolean
    • 隐式转换
      • 1.inNaN()
      • 2. 自增 --自减
      • 3. 正号 -负号
      • 4.- * / %
    • 运算符


前言

本周花了三天时间写作html和css所以学习新知识只有两天,掌握了js基本属性。


一、 变量

1.定义变量

es5:

<script>  var bianLiangMing=123;  console.log(bianLiangMing); </script> 

命名规则:
1.$ _ 数学 字母不能从数字开始
2.不能用关键词来保留单词(现在不是关键词,但将来可能会成为关键词)
3.最好使用驼峰命名法或下划线
es6:
新增了let const

区别
1.var变量提升,let和const没有
2.var变量可以重复定义,let和const不能重复定义
3.let和const定义的变量具有块级作用域,var不能有块级作用域
4.const定义的变量值是常量,不能重新赋值

直接输入biaoLiangMing = 二、定义为全局变量
var biaoLiangMing = 二、定义为局部变量

2.数据类型

基础数据类型 5 1种
string number Boolean null undefined symbol
栈内存:连续结构,先进后出的特点

引用(复杂)数据类型 1种
Object{Array,Function,arguments,Set}
堆积内存:树状结构不连续

值传递/地址传递
// 值传递

 // var num1 = 1;     // var num2 = num1;     // num2 = 3;     // console.log(num2);     // console.log(num1); 

// 址传递

  // var lpz = { 
             // name:'zsj',     // weight: '88'     // }     // var lzz = lpz;      // console.log(lzz);//输出name:'zsj',weight: '88'      // lzz.name = 'lzz'     // lzz.weight = '100'      // console.log(lzz);//输出name:'lzz',weight: '100'      // console.log(lpz);//输出name:'lzz',weight: '100' 

查看检查变量的数据内型
console.log(typeof str);
console.log(typeof(str));

1.string字符串

es5
字符串的不可变性:它不会覆盖以前的值,并将打开一个新的位置
如果两端的一侧是字符串,两侧的内容将被迫转换为字符串
拼接另一种函数方法
- * / 如果两端的一侧是数字,则两侧将转换为数字number
var str1 = str2.concat(str3,str4)
//str2 str3 str4
es六字符串模板量

var str = `bianLiang Ming`; //可直接使用回车键 
var a = 
       
        5
        ; 
        var str3 
        = 
        `abcd${ 
           a}efgh}`
        //可以直接拼接 
       

2.Boolean

true 和 false 两个值

3.number

var num =123;
Infinity 无限大
not a Number = NaN
console.log(Number.MAX_VALUE);
console.log(Number.MIN_VALUE);

var total = 0.1 +0.2; --0.300000004 //会产生精度丢失

var total = 0.555;
console.log(total.tofixed(2)); --0.56 //四舍五入,括号中为小数点后位数

4.null

null == === != 就不为0,其他情况就当成0

5.undefined

var nu1 = undefined;
出现undefined
1.定义某一个变量,但是并未赋值
var un1;
console.log(un1)
2.直接检测类型
console.log(typeof a)
3.函数内部,形式参数未传参
4.函数无返回值

console.log(null==undefined);--true
console.log(null===undefined);--false

最大的区别就是和数字加减时,null看成0,结果等于相加的数字;undefined相加数字,结果为NAN

查看赋值
var a = b = c = d = 10;
 
运行步骤
var a;
a = b = c = d = 10;
d = 10;
c = d;
b = c;
a = b;

二、基础数据辨别转换

typeof无法检测null和数组
判断是否为数组
console.log([1,2,3] instanceof Array);//如果是数组返回true 不是则false
console.log([1,2,3] instanceof Object);//也可以检测数组,因为数组属于对象

显式转换

1.其他类型转换成字符串

1. + 连接符 //在不同类型后面连接一个空串

var str1 = 123 + ‘’;
console.log(str1);

2.toString() //null和undefined不适用

var num = 123;
var str2 = num.toString();
console.log(str2);

可以进行进制转换
var num = 100;
var str2 = num.toString(2);
输出1100100 --对于number类型,toString()括号中的数字,代表转换成几进制

3.String()

var temp =123;
var str3 =string(temp);
console.log(str3);
//这三种方法转换对象类型,转换成字符串都会显示为object

2、其他类型转换成数字

1.number() //需要纯数字的字符串,或者科学计数法e

var temp = ‘124e21313’;
var num = number();
console.log(num);

2.parseInt() 3.parseFloat //字符串一定要以数字开头才能提取数字

var temp = ‘124dsgd’;
var num = parseInt();
console.log(num); --输出124

var temp = ‘dsgd124dfg’;
var num = parseInt();
console.log(num); --输出NaN

var temp = ‘105dsgd’;
var num = parseInt(temp,2);
console.log(num);//只取10
//原理 第一步调用tostring
//一定要注意第二个参数,是把提取的数当成对应的进制,再转换成十进制返回出来
//超出七位小数会通过科学计数法表示,提取整数时会识别小数后的第七位

3、其他的类型转换成boolean

var temp = ‘123’
var bool = Boolean(temp);
console.log(bool);
//字符串转换时,空串是false,其他情况都是true
var temp = 1;
var bool = Boolean(temp);
console.log(bool);
//number转换时,0是false,其他都是 ture
var temp = {};
var bool = Boolean(temp);
console.log(bool);
//object转换时,都为true(包含数组)因为对象中会存储地址

String number boolean 对应基础数据的包装类型

隐式转换

1.inNaN()

var temp =123;
var bool = isNaN(temp);
console.logaa(bool);//NaN的返回值为true
原理:其他的类型先调用number()方法,看是否能转化成数字
isNaN():是数字返回false;不是数字的时候返回ture

2.++自增 --自减

var temp =‘11’;
var temp2 = temp++;
console.log(temp);–>12
console.log(temp2);–>11
//++:变量在前先赋值再加,变量在后,先加再赋值
//–:变量在前先赋值再减,变量在后,先减再赋值

3. + 正号 -负号

var temp = true;
var temp2 = +temp;
console.log(temp2);–>1

4.- * / %

运算符

1.算数运算符 ±*/%
2.自增自减运算符++ –
3.一元运算符 ± typeof
4.逻辑运算符 && || !
&&并且 所有项都是true,则返回最后一个true值的原始值
如果其中的遇到的值为false,则输出false,后面的值不再执行
|| 或 所有项都是false执行到最后,输出false
如果其中的遇到的值为true,则输出true,后面的值不再执行
! 取反
5.赋值运算符 = += -= *= /= %=
var num = 1;
num+=1;
=>num=num+1;
//x==;
//=>x =number(x)+1
6.比较运算符> >= <= == === !==
错误的写法
if(10 正确的写法
if(10 ==:值相等返回ture
===:全等,值相等,类型也要相等
引用类型 == ===先去调用tostring()
!的优先级比tostring()的要高
7.三元运算符
表达式?表示1:表示式2

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章