JS组成
JS是由三部分组成:JS语法、文档对象(DOM)、浏览器对象(BOM)。
DOM对象:是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。
BOM对象:通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。
JS初体验
JS有三种书写方式:行内、内嵌、外部。
行内:
<input type=”button” name=”username” value=”用户名” οnclick=”alert(‘你好’)”/>
缺点:
– 可读性差, 在html中编写JS大量代码时,不方便阅读;
– 引号易错,引号多层嵌套匹配时,非常容易弄混;
– 特殊情况下使用;
内嵌:
<script>
alert(“你好”);
</script>
在老的版本中,<script type=”text/javascript”></script>,在HTML5中script默认就是js不需要再声明type=”text/javascript”。
外部:
<script src=”my.js”></script>
– 利于HTML页面代码结构化,把大段 JS代码独立到 HTML 页面之外,既美观,也方便文件级别的复用
– 引用外部 JS文件的 script 标签中间不可以写代码
– 适合于JS 代码量比较大的情况
JS注释
单行注释:// 不想被js引擎执行的,注释起来。
多行注释:/* */
/*
第一行注释
第二行注释
*/
JS输出语句
1:alert(msg) 浏览器弹出警示框
2:console.log(msg) 浏览器控制台输出信息,给开发人员看的
3:prompt(info,defaulttxt) 浏览器弹出输入框接收用户信息。(提示信息,默认信息)
JS变量
变量名是用来存取数据的容器,我们通过变量名来获取数据,数据是可以修改的。变量是程序在内存中申请的一块存放数据的空间。
变量的声明:
var myname = “小明”;
var:是声明一个变量,js的关键词。
myname:声明的一个变量名,开发人员定义。
小明:给变量myname赋值。
同时声明多个变量,用”,”隔开,如下:
var name=”小明”,age=13,sex=”男”;
变量重新赋值:name=”李四”;
总结:
– 声明变量用var,多个变量用英文逗号隔开,变量可重新赋值。
– 严格区分大小写。var name; 和 var Name; 是两个变量。
– 不能以数字开头,不能是js关键词比如 var、for、while等。
– 驼峰命名法,如myName,第一个字母小写,第二个字母大写,变量名需有意义。
数据类型
在计算机中不同的数据所需占用的存储空间是不同的,所以为了充分利用存储空间,我们为数据设置不同的数据类型,比如:“小明”,18。
JavaScript 是一种
弱类型
或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。
比如:myname=”小明” //字符串
age = 18 //数字类型
Js判断右边值是来判断,确定变量值得类型。Js的数据类型有如下两大类:
简单数据类型
:
Number,String,Boolean,Undefined,Null
Number数字类型
数字型进制
表示整数的方法有10进制,8进制和16进制。就一般使用的数值而言,16进制是指0-15的数值(0到9,a到f),在JavaScript中,在其前面加”0x”,标志其为16进制,8进制是在0-7前面加”0″。
数字型范围
– 最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
– 最小值:Number.MIN_VALUE,这个值为:5e-324
数字的特殊值
Infinity ,代表无穷大,大于任何数值
-Infinity ,代表无穷小,小于任何数值
NaN ,Not a number,代表一个非数值
isNaN
用来判断一个变量是否为非数字的类型 ,返回 true 或者 false
var age = 21;
var isNum = isNaN(age);
console.log(isNum); // false
var name= “小明”;
console.log(isNaN(name)); // true ,”小明”是一个非数字
String字符串类型
字符串定义
字符串型可以是引号中的任意文本,其语法为 双引号 “” 和 单引号”。
举例:var name = ”小明”; //没有引号会报错
引号嵌套
JS 可以用单引号嵌套双引号 ,或者用双引号嵌套单引号 (外双内单,外单内双)
var myName = “我的姓名是’小明’”;
字符串转义符
字符串中有特殊字符,我们用转义符都是 \ 开头的进行转义。
\n :换行符;
\\ :斜杠\;
\’: ‘ 单引号;
\”:双引号”;
\t: tab缩进
\b:空格
字符串
长度
字符串是由若干个字符组成,这些字符的数量就是字符串的长度。
如:var str = “我是高帅富!”; alert(str.length); //输出是6
字符串
拼接
多个字符串之间可以使用 + 进行拼接之后得到新的字符串。
如:var str = ”路漫漫其修远兮,”,strAll=””;
strAll = str + “吾将上下而求索”;
alert(strAll );//路漫漫其修远兮,吾将上下而求索
alert(100+100);//200
alert(100+”100”); //100100
alert(“100”+”100”);//100100
总结:
– 字符串与数字相加,字符相连。
– 变量也可以和字符相加,变量不能加引号,否则会当成字符串。
布尔型Boolean
布尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)。
布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0。
console.log(true + 1); // 2
console.log(false + 1); // 1
Undefined和 Null
Undefined:
一个声明后没有被赋值的变量会有一个默认值undefined;
var myName;
console.log(myName); // undefined
console.log(‘你好’ + myName); // 你好undefined
console.log(11 + myName); // NaN
console.log(true + myName); // NaN
Null:
一个声明变量给 null 值,里面存的值为空;
var myName= null;
console.log(‘你好’ + myName); // 你好null
console.log(11 + myName); // 11
console.log(true + myName); // 1
获取变量类型
typeof 可用来获取检测变量的数据类型。
var num = 18;
var myname = null;
console.log(typeof num) // 结果 number
console.log(typeof myname) // object
类型转换
比如说,在表单(form)、prompt中提交的信息都是字符串信息,就无法就行加减,这时候就需要数据类型转换。
转换为字符串
toString:var num = 13; console.log(typeof num.toString());
String: var num =13;console.log(typeof String(num));
第三种方式字符串拼接:var num = 13; console.log(typeof 13 + ‘我是字符串’);
数字类型转换
parseInt(string, radix):将string类型转成整数数字类型。
举例:
parseInt(“12”); //returns 12
parseInt(“12blue”); //returns 12
parseInt(“12.8”); //returns 12
parseInt(“blue”); //returns NaN
radix可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
parseFloat(string) 将string类型转成浮点数数字类型。
Number(string) 将string强制转换成数字类型。
转为布尔类型
代表空、否定的值会被转换为 false ,如 ”、0、NaN、null、undefined,其余值都会被转换为 true。
console.log(Boolean(”)); // false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean(‘小白’)); // true
console.log(Boolean(12)); // true