Js代码编写位置
1.编写到标签的onclick属性中,当点击按钮时,js代码才会执行
<button onclick=”alert(‘点我干嘛’);”>点我一下</button>
也可以写在超链接的href属性中,当点击超链接时,执行js代码
如:<a href=”javascript: alert ( ‘让你点你就点’ ) ; ”>你点我一下</a>
以上虽然可以写在标签的属性中,但是属于结构与行为耦合,不方便维护,不推荐
2.js代码编写到script标签中,和style有点像,
<script>
alert(“点我”); //在浏览器中弹出一个警告框
document.write(“我在这”); //在页面中输出一个内容
console.log(“我在这”); //在控制台输出一个内容
<\script>
3.将js代码编写到外部的js文件中,然后通过script标签引入
如<script type = ”text/javascript” src = “文件路径”></script>
script一旦用于引入外部文件,即使编写了代码也会被浏览器忽略。
如果需要,可以创建一个新的script标签用于编写内部代码。
严格区分大小写
• JavaScript是严格区分大小写的,也就是abc和Abc会被解析器 认为是两个不同的东西。
• 所以在编写上边的HelloWorld时,一定要注意区分大小写。
JS中的注释和Java的的一致,分为两种:
– 单行注释: //注释内容
– 多行注释: /*注释内容*/
标识符
• 所谓 标识符 ,就是指 变量 、 函数 、 属性 的名字,或函数的 参数 。
• 标识符可以是按照下列格式规则组合起来的一或多个字符:
– 第一个字符必须是一个 字母 、 下划线( _ ) 或一个 美元符号( $ ) 。
– 其他字符可以是 字母 、 下划线 、 美元符号 或 数字 。
• 按照惯例,ECMAScript 标识符采用 驼峰命名法 。
• 但是要注意的是JavaScript中的标识符不能是 关键字 和 保留字符。
变量
• 变量 的作用是给某一个值或对象标注名称。
• 比如我们的程序中有一个值123,这个值我们是需要反复使用的,这个时候 我们最好将123这个值赋值给一个变量,然后通过变量去使用123这个值。
• 变量的声明:
– 使用 var 关键字声明一个变量。
– var a;
• 变量的赋值:
– 使用 = 为变量赋值。
– a=123;
• 声明和赋值同时进行:
– var a = 123;
数据类型
• JavaScript中一共有5种基本数据类型:
– 字符串型(String)
– 数值型(Number)
– 布尔型(Boolean)
– null型(Null)
– undefined型(Undefined)
• 这5种之外的类型都称为Object,所以总的来看JavaScript中共有六种数据类型。
typeof运算符
• 使用 typeof 操作符可以用来检查一个变量的数据类型。
• 使用方式: typeof 数据 ,例如 typeof 123。
• 返回结果:
– typeof 数值 number
– typeof 字符串 string
– typeof 布尔型 boolean
– typeof undefined undefined
– typeof null object
String
• String 用于表示一个字符序列,即字符串。
• 字符串需要使用 ’ 或 “ 括起来。
• 转义字符:
• 将其他数值转换为字符串有三种方式: toString() 、 String() 、 拼串
Number
• Number 类型用来表示整数和浮点数,最常用的功能就是用来表示10进制的整数和浮点数。
• Number表示的数字大小是有限的,范围是: ± 1.7976931348623157e+308 ,如果超过了这个范围,则会返回± Infinity 。
• NaN ,即非数值(Not a Number)是一个特殊的数值,JS中当对数值进行计算时没有结果返回,则返回NaN。
MAX_VALUE数字最大值,MIN_VALUE数字最小值
不要使用js进行精确度要求高的运算。
Boolean(布尔型)
• 布尔型 也被称为逻辑值类型或者真假值类型。
• 布尔型只能够取 真(true) 和 假(false) 两种数值。除此以外, 其他的值都不被支持。
• 其他的数据类型也可以通过 Boolean() 函数转换为布尔类型。
Undefined
• Undefined 类型只有一个值,即特殊的 undefined 。
• 在使用 var 声明变量但未对其加以初始化时,这个变量的值就是 undefined。例如:
var message;
– message 的值就是 undefined。
• 需要注意的是typeof对没有初始化和没有声明的变量都会返回undefined。
Null
• Null 类型是第二个只有一个值的数据类型,这个特殊的值是null 。
• 从语义上看null表示的是一个空的对象。所以使用typeof检查null会返回一个Object。
• undefined值实际上是由null值衍生出来的,所以如果比较undefined和null是否相等,会返回true;
类型转化
转为String类型
方式一:
-调用toString()方法,得到一个转换的值,不会改变原变量。谁要转换成string谁就掉用该方法。如:var a = 132; a = a.toString();
-但是null和undefined没有该方法。
方式二:
-调用String()函数,如:var a = 123; a = String(a);
-对于number和boolean实际上就是调用tosString()方法
-但是对于null和undefined就是直接转化为“null”和“undefined”
为换为Number类型:
方式一:使用Number()方法
var a = "312";
a = Number(a);
console.log(a);//结果为数值312
字符串->数字:如果字符串中有非数字字符,则结果为NaN
如果是空串或字符串全是空格,转为0
布尔类型->数字:true -> 1,false ->0
null ->数字: 转为0
undefined -> 数字:转为NaN
方式二:使用parseInt()方法
var a = "312fsda"
a = parseInt(a);//输出结果为312
方式三:使用parseFloat()方法
var a = "312.534.534gsgfd";
a = parseFloat(a);//输出a为312.543
var a = "18";
a = +a;//a变成Number类型
console.log(1 + +"2" + 3);结果为6
运算符
• JS中为我们定义了一套对数据进行运算的运算符。
• 这其中包括:算数运算符、位运算符、关系运算符等。
逻辑运算符
非布尔值的运算
与运算中如果两个值为true,则返回后一个值。如果两个值为false,则返回前一个值。
var a = 2&&3;/返回3
var a = 0&&NaN;/返回0
或运算,第一个为true,则直接返回第一个。第二个为false,则直接返回第二个。
var a = 2||1;返回前一个,即2
var a = 2||0;返回前一个,即2
var a = 0||NaN;返回第二个,即NaN
如果关系运算符两边都是字符串,那么,比较字符串中字符的Unicode编码。其他的都是转为数字再比较。
console.log("11" > "5");//结果为false,因为5的Unicode值比1的大
用==和!=运算符比较时,等式两边一般都转化为Number类型再进行比较
特殊值:
null==0 为false。
NaN不和任何值相等,包括NaN。判断一个值是否为NaN可以用isNaN()函数。
undefined==null 为true,因为undefined是由null衍生过来的。
Unicode字符集
console.log("\u2620");//在字符串中是以\u开头的十六机制编码
<h1>☠</h1>//在网页中是以&#开头的十进制编码
代码块
• 代码块 是在大括号 {} 中所写的语句,以此将多条语句的集合视为一条语句来使用。
• 例如:
{
var a = 123;
a++;
alert(a);
}
• 我们一般使用代码块将需要一起执行的语句进行分组,代码块结尾不需要加 分号。
条件语句:if...else、switch...case
循环语句:while、do...while、for
break、continue
label
• 使用 label 语句可以在代码中添加标签,以便将来使用。
• 语法:
– label: statement
• 例子:
start: for (var i=0; i < count; i++) {
alert(i);
}
• 这个例子中定义的 start 标签可以在将来由 break 或 continue 语句引用。加标签的语句一般都要与 for 语句等循环语句配合使用。