JavaScript基础知识必知!

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。

JS作用:表单验证,减轻服务端的压力;添加页面动画效果;动态更改页面内容;Ajax网络请求。

下面简单介绍JS的基础知识:

>>> JS******基础知识

一、基本结构

<script type="text/javascript">

&emsp;&emsp;&emsp;&emsp;alert("hahaha");

</script>
复制代码

二、使用JS的三种方式

 1、直接在HTML标签中,使用事件属性,调用JS代码:

&emsp;&emsp;<button onclick="alert('点我');">点我!</button>
复制代码

 2、在页面的任意位置,使用script标签,插入JS代码。

&emsp;&emsp;<script type="text/javascript">

&emsp;&emsp;&emsp;&emsp;alert("hahaha");

&emsp;&emsp;</script>
复制代码

 3、引入外部JS文件:

&emsp;<script src= "js/01.js" type="text/javascript"></script>
复制代码

注意事项

  ① JS代码可以放在页面的任意位置使用,但是放置的位置不同,将影响JS执行的顺序

  ② 引入外部JS的script标签中,不能再包含任何的JS代码。

三、JS中的变量

 1、变量的声明

&emsp;&emsp;&emsp;var num = 1;        // 使用var声明的变量,属于局部变量,只在当前作用于有效

&emsp;&emsp;&emsp;num = "hahaha";      // 不用var声明的变量,默认为全局变量,在整个JS文件中可用

&emsp;&emsp;&emsp;var a=1,b,c=2; &emsp;&emsp; // 使用一行代码,声明多个语句。其中b为Undefined
复制代码

** JS中变量声明的注意事项**

  ① JS中声明变量的关键字只有一个var,变量的类型,取决于所赋的值;

   如果声明后为赋值,则为Undefined类型。

  ② JS中同一个变量,可以在多次赋值中,被修改数据类型;

&emsp;&emsp;&emsp;&emsp;var num1=1;

&emsp;&emsp;&emsp;&emsp;num = "字符串";
复制代码

  ③ 变量可以使用var声明,也可以直接赋值声明。(区别:使用var声明的作用域为局部变量)  

  ④ 在JS中,一个变量可以多次使用var声明,后面的声明相当于直接赋值,没有任何作用;

  ⑤ JS变量区分大小写,大写和小写不是一个变量;

 2、JS中的数据类型:

  Undefined:使用var声明,但是没有赋值的变量

  null:表示空的引用

  Boolean:真假

  Number:数值类型,包括整型和浮点型

  Object:对象

 3、常用数值函数

  ① isNaN:用于检测是一个变量,是不是非数值(Not a Number);

   isNaN在检测时,会先调用Number函数,尝试将变量转为数值类型,如果最终结果能够转化为数值,则不是NaN。

  ② Number函数:用于将各种数据类型转为数值类型

   >>>Undefined:无法转换,返回NaN;

   >>>null:转为0;

   >>>Boolean:true转为1,false转为0;

   >>>字符串:

        如果字符串是纯数值字符串,可以转换,"123"-->123

        如果字符串包含非数值字符,不能转换,"123a"-->NaN

        如果是空字符串,转为0,""-->0 " "-->0

  ③ parseInt():将字符串转为数值类型

   >>>如果是空字符串,不能转," "-->NaN

   >>>如果是纯数值类型字符串,可以转换,且小数点直接舍去,不保留,"123"-->123 "123.9"-->123

   >>>如果字符串包含非数值字符,则将非数值字符前面的整数进行转换,"123a"-->123 "a123"-->NaN

  ④ parseFloat():转换机制与java相同。

   不同的是:转换数值字符串时,如果字符串为小数则可以保留小数点,"123.5"-->123.5 "123"-->123

  ⑤ typeof():检测一个变量的数据类型。

   字符串->String  数值->number   true/false->boolean

   未定义->undefined  对象/null->object  函数->function

四、JS中常用的输入输出语句

 1、alert():弹窗输出

  2、prompt():弹窗输入

  接受两部分参数:① 输入提示内容;② 输入框的默认文本。(两部分都可以省略)

  输入的内容默认都是字符串。

 3、document.write("

12345

hahaha
");

   在浏览器屏幕上面打印。

 4、console.log("hahaha");

   浏览器控制台打印。

五、JS中的运算符

 1、除号:无论符号两边是整数还是小数,除完后都将按照实际结果保留小数

  例如:22/10 --> 2.2

 2、===:要求等号两边的数据、类型和值都必须相同。如果类型不同,直接返回false

   ==:只判断两边的数据,值是否相等,并不关心等式两边是否是同一种数据类型

   !=:不等  !==:不全等

 3、&、| 只能进行按位运算,如果两边不是数值类型,将转为数值类型再运算;

  &&、|| 进行逻辑运算

 4、各级运算符的优先级别表:

>>> JS******分支与循环

一、if判断

 1、JS中的真假判断:

  ① Boolean类型:true为真,false为假;

  ② 数值类型:0为假,非0为真;

  ③ 字符串类型:""为假,非空字符串为真;

  ④ Null/Undefined/NaN:全为假;

  ⑤ Object:全为真。

 2、if判断:

if(undefined) {
   &emsp;&emsp;          console.log(true);
&emsp;&emsp;    } else {
    &emsp;&emsp; console.log(false);      
&emsp;&emsp;    }</pre>
复制代码

二、循环

 1、switch

  switch结构的()中可以放各种数据类型:

  比对时,采用  "==="  进行判断,要求数据类型完全相等

var num=1;
&emsp;&emsp;switch (num){
&emsp;&emsp;&emsp;&emsp;case 1:
         console.log("dengyu");
         break;
 &emsp;&emsp;&emsp;default:
         console.log("budeng");
         break;
&emsp;&emsp;}
复制代码

Java中switch不能判断区间,而JS中switch可以判断区间 ↓↓↓

switch (true){
            case num>=0 && num<10:
                    console.log(1);
                    break;
            case num>=10 && num<100
                    console.log(2);
                    break;
            default://欢迎加入全栈开发交流圈一起学习交流:864305860 
                    console.log(3);  //面向1-3年前端人员
                    break; //帮助突破技术瓶颈,提升思维能力 
    }
复制代码

2、do-while

&emsp;&emsp;&emsp;&emsp;do{
&emsp;&emsp;&emsp;&emsp;}while (false);
复制代码

 3、for循环

&emsp;&emsp;&emsp;&emsp;for(var i=0;i<100;i++){ }
复制代码

 4、例:输入一个数,判断其是否是正整数,如果不是正整数,提示输入有误,请重新输入;如果是正整数,反转输出这个数。

var num=prompt("请输入一个正整数:");
       var str="";
       if(parseInt(num) == num){
       &emsp;&emsp;while (num>0){
          &emsp;&emsp;var a = num%10;
             str += a;
             num = parseInt(num/10);
          }
          console.log(str);
       }else {
             console.log("您输入的数不是正整数!");
       }
复制代码

结语

感谢您的观看,如有不足之处,欢迎批评指正。

本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。 对web开发技术感兴趣的同学,欢迎加入Q群:864305860,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。 最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值