JavaScript 一种直译式脚本语言, 是一种动态类型, 弱类型, 基于原型的语言, 内置支持类型.
JS 作用: 表单验证, 减轻服务端的压力; 添加页面动画效果; 动态更改页面内容; Ajax 网络请求.
下面简单介绍 JS 的基础知识:
>>> JS 基础知识
一, 基本结构
- <script type="text/javascript">
- alert("hahaha");
- </script>
二, 使用 JS 的三种方式
1, 直接在 html 标签中, 使用事件属性, 调用 JS 代码:
<button onclick="alert('点我');">点我!</button>
2, 在页面的任意位置, 使用 script 标签, 插入 JS 代码.
- <script type="text/javascript">
- alert("hahaha");
- </script>
3, 引入外部 JS 文件:
<script src= "js/01.js" type="text/javascript"></script>
[注意事项]
JS 代码可以放在页面的任意位置使用, 但是放置的位置不同, 将影响 JS 执行的顺序
引入外部 JS 的 script 标签中, 不能再包含任何的 JS 代码.
三, JS 中的变量
1, 变量的声明
- var num = 1; // 使用 var 声明的变量, 属于局部变量, 只在当前作用于有效
- num = "hahaha"; // 不用 var 声明的变量, 默认为全局变量, 在整个 JS 文件中可用
- var a=1,b,c=2; // 使用一行代码, 声明多个语句. 其中 b 为 Undefined
[JS 中变量声明的注意事项]
JS 中声明变量的关键字只有一个 var, 变量的类型, 取决于所赋的值;
如果声明后为赋值, 则为 Undefined 类型.
JS 中同一个变量, 可以在多次赋值中, 被修改数据类型;
- var num1=1;
- 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("<h1>12345</h1> <h6>hahaha</h6>");
在浏览器屏幕上面打印.
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) {
- console.log(true);
- } else {
- console.log(false);
- }
二, 循环
1,switch
switch 结构的 () 中可以放各种数据类型:
比对时, 采用 "===" 进行判断, 要求数据类型完全相等
- var num=1;
- switch (num){
- case 1:
- console.log("dengyu");
- break;
- default:
- console.log("budeng");
- break;
- }
[JS 中 switch 与 Java 中 switch 的区别:]
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:
- console.log(3);
- break;
- }
- 2,do-while
- do{
- }while (false);
3,for 循环
for(var i=0;i<100;i++){ }
4, 例: 输入一个数, 判断其是否是正整数, 如果不是正整数, 提示输入有误, 请重新输入; 如果是正整数, 反转输出这个数.
- var num=prompt("请输入一个正整数:");
- var str="";
- if(parseInt(num) == num){
- while (num>0){
- var a = num%10;
- str += a;
- num = parseInt(num/10);
- }
- console.log(str);
- }else {
- console.log("您输入的数不是正整数!");
- }
未完待续>>>
来源: https://www.cnblogs.com/zyp777/p/8972467.html