JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,
更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备
JS 函数优先 面向函数的编程 脚本语言
java编译(程序员认识,电脑不认识 ) 解析
JS 浏览器和程序员都认识 不需要解析 所以称为脚本语言
JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
JavaScript
回车意味着一行代码结束.
结束后加不加分号都行,但为了和Java习惯一致,在后面加上分号;
单行注释 和 多行注释
alert() : 弹出一句话 内容为一个 字符串 类型
1.Java 面向对象 :
使用前,创建对象,指挥对象做事情.
JS : 基于对象,面向过程
既有现成的对象可以直接使用 , 还可以自定义对象来使用
万事万物皆对象
2. java javac命令编译---> .class ----> java的命令运行
编译 + 解析型语言
JS : 解析型语言 : 从上向下执行,如果遇到错误,就停止执行了.
if...else... 是js编程中的关键词 逻辑判断语句 意思:二选一
测试常用
调试js代码的时候 需要大量用到console.log
console.log : 将测试内容写到控制台
console.log('今天天气不错!');
var : js中的关键字,是用来定义变量
JS中变量的定义 : var 变量名 = 常量值 ;
var info = prompt('请输入您的年龄 : ');
alert(info) ;
document : 文档模型对象,代表当前页面,也就是05.html
document.write('给页面"输出"内容...<br>') ;
document.write('<a href="http://www.baidu.com" target="_blank"> 百度 </a>') ;
变量的概念 : 内存中的一块区域 ;该区域有自己的名字/自己的类型/自己的值
var关键词 用于声明一个变量 : 语法 : var 变量名 = 初始值 ;
JS中的数据类型分为简单数据类型和复杂数据类型
string 字符串
number 数值型: 小数和整数
boolean 布尔型:true false
undefined 未定义 : var a ;
null
注意 : 在JS中,变量的数据类型是由变量的值决定的.
number类型 数字直接写
字符串类型 又称 String类型 需要加引号:虽然单引号/双引号都可以,但是JS中使用单引号,双引号有其他用途(
boolean类型 true/false 直接写
= 是赋值运算符
var age = 20;
var name = '张三';
var sex = true;
起名规范 :
64个字符 : 字母数字 下划线 $
不能数字开头!
可以用大小写混写 驼峰命名法
不能使用中划线
不能使用this关键字
声明了 没赋值 是可以的 为 undefined
局部变量区别 :
Java中的局部变量 必须初始化后才可以使用
JS中的变量声明后可以直接使用,如果未初始化,那么就是 undefined 类型
类型判定 : typeof() : 括号可以省略
console.log(typeof ('15')); // string
var num1 = 0 ;
console.log(typeof num1); // number
console.log(typeof 15.11); // number
console.log(typeof "15"); // string
console.log(typeof(true));//boolean
不是一个数字吗? is not a number
全局函数
console.log(isNaN('abc'));//true
console.log(isNaN(123));//false
比较运算符
会对字符串进行隐式转换,最终比较number
js中一个等号表示赋值
js中 相等的比较运算符是 == 和 ===
举例
console.log(3 == 3);//true
这里的 == 会把字符串强转为number来进行对比.
=== 完全等于/恒等于
1.判断数据类型是否相同
2.判断值是否相等
举例
console.log(3 === '3');//false
这里值相等 但是 类型不一样 所以结果是false
总结:
java中==基本类型比较内容,引用型比较地址值;
js中的==判断内容是否相同
java中没有===
js中 === 先判断类型 再判断内容
运算 +
1.如果是number 则是数学中的加号,将会执行加法运算.
2. 如果存在有字符串,则为 拼接,结果为 字符串类型.
举例
console.log(3+'5'); 结果 35
console.log(typeof (3+'5')); 结果 35
上面俩就是所谓的拼接
console.log(2 + 3) ; 结果就是5
运算 -
减号 可以进行隐式转换,结果为 number类型
console.log(5-'2'); 结果为 3
乘号
console.log(31*51);
console.log(3*'5');
除法
console.log(10/3); 结果是带小数的
console.log(1/0); Infinity:无穷,不会抛异常
求余数
console.log(10%3); 余数为1
console.log(10%2); 余数为0
总结
java中的整数的除法只保留整数部分;
js中的整数的除法就是数学运算;
运算的优先级
() 可以提升优先级
有()先计算()里边的
console.log(3+5*(4-3)/2);
简写
var num1 = 10;
num1 = num1 + 1; 11
简写为
num1 += 1; 12
+= 1 简写为: ++
num1 ++ ; 13
var num2 = 20;
num2 *= 10; 20*10=200
console.log(num1); 13
console.log(num2); 200
逻辑运算
&& : 且 : 两边同时为真,结果为真
|| : 或 : 两边同时为假,结果为假
! : 非 ,取反面
下面6种值转化为布尔值时为false,其他转化都为true
1、undefined(未定义,找不到值时出现)
2、null(代表空值)
3、false(布尔值的false,字符串"false"布尔值为true)
4、0(数字0,字符串"0"布尔值为true)
5、NaN(无法计算结果时出现,表示"非数值";但是typeof NaN==="number" 结果为true)
6、""(双引号)或''(单引号) (空字符串,中间有空格时也是true)
注意空数组空对象,负值转的布尔值时都为true
不同数据类型转化为布尔值的结果
数据类型 转为true的值 转为false的值
Boolean true false
String 任何非空字符串 ''(空字符串)
Number 任何非零数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined n/a undefined
JS数组 : 数据的组合
JS中的数组,类似于java中的集合,长度会自增
java中的数组 :
1. 数据类型确定 int[] arr = new int[100] ;
2. 一旦声明长度确定
3. 下标必须是int型
4. 访问索引值不存在的元素,会有索引越界异常
JS中的数组 : 类似于java中的集合
1. 数据类型不确定
2. 长度不足,自动自增
3. 索引值可以不是数字
4. JS中允许访问不存在的索引值