JavaScript(一):了解JavaScript,js中对变量的使用

了解JavaScript

web三大标准

HTML(结构) + CSS(样式) +JavaScript(行为)

JavaScript

动态效果+数据交互

JavaScript作用

编程运行过程中,由js解析器(js引擎)逐行来进行解释并执行
现在也可以基于Node.js技术来进行服务器端编程
具体应用如:

  • 表单动态校验
  • 网页特效
  • 服务端开发(node.js)
  • 桌面程序
  • APP
  • 控制硬件
  • 游戏开发

js由浏览器执行

浏览器分为 渲染引擎和js引擎

  • 渲染引擎
    用来解析HTML和CSS,俗称内核,比如谷歌浏览器 blink
  • js引擎
    js解析器,用来读取网页中的javascript代码,对其处理后运行,比如谷歌的v8逐行执行每一句代码

js的组成

ECMAScript语法,BOM,DOM

js的三种引入方式

行内式

可以将单行或少量js代码写在HTML标签的事件属性中(以on开头的属性) 比如onclick
单双引号要错开使用,HTML中推荐使用双引号,js中使用单引号
可读性差,在html中编写大量js代码,不方便阅读,引号容易弄混
如:<input type="button" value="点我" onclick="alert('hello 17期学员 大家晚上好')">

内嵌式

可以将多行js代码写到script标签中
内嵌js是学习最常用的方式
如:
<script>
alert(123)
alert(9)
</script>

外部式

适合js代码量比较大的情况
利于HTML代码的结构化,把大段的js代码独立到HTML页面之外,方便复用
引用外部js文件的script标签中间不可以写代码
创建步骤:
1.新建一个js文件,xxx.js
2.html页面中通过script引入js文件
<script src="./index.js"></script>

js注释

// 单行注释---------快捷键:ctrl+/
/* 多行注释 */----- 快捷键:alt +shift+a

js的输入输出语句

  • alert();
    浏览器弹出警示框
  • console.log();
    浏览器控制台输出信息
  • prompt();
    浏览器弹出输入框,用户可以输入,有确定和取消按钮
    prompt获取过来的数据默认都是字符串类型
  • document.write();
    浏览器屏幕上面打印

js对变量的使用

什么是变量

变量是程序在内存中申请存放数据的空间,通过变量名获取数据,数据可以更改

  • 声明变量

     var name;//声明了一个名称为name的变量
    

    var是js的关键字,用来声明变量的,用该关键字声明的变量,计算机会自动为变量声明内存空间,不需要程序员管
    name是程序员定义的变量名,我们要通过变量名来访问变量

  • 变量赋值

     name = "张三";//给name这个变量赋值为 "张三"
    

    把等号右边的值赋值给左边的变量,变量值就是由程序员保存到变量空间里的值

  • 变量初始化

     var aa = 123;//声明变量并赋值---称为变量的初始化
    
  • 变量重新赋值

     var bb = 123;
     bb = 44;
    

    一个变量被重新赋值,原来的值会被覆盖,变量值将以最后一次赋的值为准

  • 同时声明多个变量

      var  age =23,n=34,sex="男";
    

    同时声明多个变量,只需要写一个var ,多个变量名之间用逗号隔开

  • 变量的特殊情况

     var cc;	
     console.log(cc);   	
    

    只声明不赋值,默认值是undefined

     console.log(dd);
    

    不声明不赋值,直接使用,报错:dd is not defined

     ee = 45;	
     console.log(ee);   	
    

    不声明只赋值,ee=45,但不属于变量

  • 变量的命名规范
    1.由字母,数字,下划线,$组成,如:num01,_age, $axios…
    2.严格区分大小写,如:var a 和var A 是两个变量
    3.不能以数字开头
    4.不能是关键字,保留字,如:var for if else while do …
    5.要有语义化
    6.遵守驼峰命名法,首字母小写,后面单词的首字母要大写,如:myFirstName

数据类型

变量存储的数据可以是各种类型的数据
js是弱类型的语言,所以js变量的数据类型由值来决定

  • Number数值

     var  uAge =21;	
     var isOk = isNaN(uAge)
     console.log(isOk)//false,是数字类型
     console.log(isNaN("123"))//true
    

    //isNaN 判断变量是否为非数字类型 返回true或者false

  • String字符串

    字符串可以是引号中的任意文本,语法是双引号 " " 和 单引号 ’ ’

     var str ="欢迎大家";
     var str1 = '大家好';
     var str3 = hello ; 	 //报错 ,
     //hello is not defined 没有使用引号,会被认为是js代码,但是js没有这个语法
    

    注意单双引号要错开使用,不能用混了

     var str3 = "我是'高富帅'";
     var str4 = '我是"高富帅"';
    
    • 字符串转义符

      \ 斜杠
      \n 换行符
      ’ 单引号
      " 双引号
      \t tab缩进
      \b 空格

    • ​字符串拼接
      只要由字符串和其他类型变量/值拼接,最终的结果是字符串

       console.log("中国"+"省份"); 	//"中国省份"
       console.log("我的序号"+13) ; 	//"我的序号13"
       console.log("我同意" + true); 	//"我同意true"
       console.log("12"+24); 	//"1224"
      

      ​但是,字符串除了+数字以外,-、 * 、/ 都是可以直接与数值运算的

    • .length用于检测字符串的长度

       var str5 = "my name is lucy";	
       console.log(str5.length);//15
      
  • Boolean布尔
    布尔类型有两个值: true 和false
    true表示真,false表示假
    布尔型和数字型相加时,true为1 false为0

     var flag = true;	
     var flag1=false;	
     console.log(flag+1);// 2
     console.log(flag1+1);//1
    
  • undefined和null

    • 一个变量只声明不赋值,值为undefined,数据类型也是undefined

       var str1 ;	
       console.log(str1 + "hello");// "undefinedhello"
       console.log(str1 + 1);
      

    //undefined和数字相加,最后的结果是NaN

    • 一个声明的变量给null值,里面存的值为空

       var space = null;	
       console.log(space + "hello");//"nullhello"
       console.log(space + 1);//1
      
  • typeof获取变量的数据类型

     var num=12;
     console.log(typeof num);//number
    
     console.log(typeof "xiaoxiao");//string
     
     var bol = true;
     console.log(typeof bol);//boolean
    
     var boll;
     console.log(typeof boll);//undefined
    
     var bol2 = null;	
     console.log(typeof bol2);//object
    

    null的数据类型是object

  • 数据类型转换
    比如:使用表单,prompt获取过来的数据默认都是字符串类型,不能进行简单的加法运算,需要进行数据类型转换

    • parseInt()转换为数字型

       console.log(parseInt(123)); //123
       console.log(parseInt(123sss)); //123  
       console.log(parseInt(ss23)); //NaN,不是数字
       console.log(parseInt(2w2)); //2  
       console.log(parseInt(12.4)); //12,取整数
       console.log(parseInt(true))  //NaN
      
    • parseFloat() 转换为浮点型

       console.log(parseFloat(123));//123  
       console.log(parseFloat(123sss));//123  
       console.log(parseFloat(ss23));//NaN 
       console.log(parseFloat(2w2));//2  
       console.log(parseFloat(12.4));//12.4
       console.log(parseFloat(true))  //NaN
      
    • Number强制转换
      要求比转换数字高

       console.log(Number(123));//123
       console.log(Number(123sss));//NaN  
       console.log(Number(ss23));//NaN
       console.log(Number(2w));//NaN  
       console.log(Number(12.4));//12.4
      
    • .toString()转换为字符串型

       var num = 78;	
       console.log(num.toString())//"78"
      
    • String() 强制转换

       console.log(String(true))//"true"
       console.log(typeof String(90))	//string
      
    • Boolean()转换为布尔型
      注意Boolean开头要大写

       console.log(Boolean(null))//false
       console.log(Boolean(undefined))//false
       console.log(Boolean("123"))//true
       console.log(Boolean(123))//true
       console.log(Boolean(""))//false
       console.log(Boolean(0))//false
       console.log(Boolean(1))//true
      

数据运算

  • == 只判断值

    默认转换数据类型,把字符串型的数字转换为数字型 值相等就行

      console.log(13=="13"); //true
      console.log(3==5);//false
      console.log("hello"=="liudh");//false
    
  • === 值和数据类型都必须相等

     console.log(13==="13");//false
    
  • 表达式1 && 表达式2
    第一个表达式值为真,返回第二个表达式
    第一个表达式为假,返回第一个表达式

     console.log((3+4)&&9);//9
     console.log(1&&0);//0
     console.log(0&&1);//0
    
  • 表达式1 || 表达式2
    第一个表达式值为真,返回第1个表达式
    第一个表达式为假,返回第2个表达式

     console.log((3+4)||9);//7
     console.log(1||0);//1
     console.log(0||1);//1
    
  • 条件?‘表达式1’:“表达式2”
    条件正确选第一个表达式,错误选第二个

      var num = 2;	
      num>2?console.log(23):console.log(34)//34
      	
      var b = num>1?"hello":"word";	
      console.log(b)//hello
    
  • 运算符优先级

     优先级    运算符
     	
     1        小括号
     2        ++、--、!
     3	      算数运算符(先 * / %  后 + -)
     4	      >、>=、<、<=
     5	      ==、!=、===
     6	      先&& 后 ||
     7	       =
    

流程控制语句

  • 条件语句

    • if语句

       if(条件){//js代码}
       
       ​if(条件){//js代码}
       else{//js代码}
       
       if(条件){//js代码}
       else if(条件){//js代码}
       else if(条件){//js代码}
       else{//js代码}
      
    • switch语句

       switch(表达式){
       case 值1:
       	//js代码
       break;
       case 值2:
       	//js代码
       break;
       default:
       	//js代码​
       }
      
  • 循环语句
    重复执行相同的代码多少次

    • while循环

       初始化变量;
       while(条件表达式){
       	//循环体
       	//更新操作
       }
      
    • do-while循环

       初始化变量;
       do{
         //循环体
         //更新操作
       }while(条件表达式)
      
    • for循环

       for(初始化变量;条件表达式;更新操作){
         //循环体
       }
      
    • break和continue

      break和continue只能应用在循环中,但是break还可以使用在switch结构中
      break 终止循环 立即终止循环,并跳出循环,循环结束​
      continue 停止当前循环,继续执行下一次循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值