Javascript自学-2
来源:互联网 发布:人为恶意攻击网络手段 编辑:程序博客网 时间:2024/04/28 12:32
- 变量的数据类型
- 变量是有数据类型的,这个类型来源于“变量的值”,换句话说:值是什么类型的,变量就是什么类型的。
- JS中变量的类型有:数值型、字符型、布尔型、undefined、null、array(数组型)、object
- 数值型
- 可以进行算术运算的(加、减、乘、除)
- 数值型包括:整型和浮点型
<script type="text/javascript"> // 数值型变量:变量的值是数值型的 var a = 10; var a = 0; var a = -10; var a = 0.9; var b = a *10; // b = a *10 = 0.9 *10 = 9 // 同名变量:下面的变量讲替换上面的变量 document.write(b); </script>
- 字符型:用单引号或双引号引起来的一个字符串
- 注意:字符型变量不能进行算术运算,只能进行“连接”
var a = "北京传智"; var b = "科技有限公司有限公司"; var c = a + b; //c = "北京传智" + "科技有限公司" // 这里的“+”号是作为连接号,而不是加法。 document.write(c); </script>
显示:北京传智科技有限公司
- 注意:字符型变量不能进行算术运算,只能进行“连接”
- JS中的运算符
- 运算时,只能进行同类型运算。如果类型不同,将进行类型转换。
- 算术运算符:+、-、*、/、
- 举例
var a = 10; var b = a + 10; //b = a + 10= 10+ 10=20
显示:20 - 注意:如果“+”左右两个操作数,都是数值的话,将执行“加法“运算
document.write(c); document.write("<hr />") var a = "10"; // 以下代码中,有一个操作数是字符串,因此,将执行字符串的“连接”运算 // 所谓“连接”就是将左右两个字符串品在一起,构成一个更多的字符串。 var b = a +10; // b = a + 10= "10" + 10 ="1010 " document.write(b);
显示:1010
- 举例
- 赋值运算符:=、+=
- 赋值运算符,将”=“右边的运算结果,赋给左边的变量
- var a = 10 + 10;
- ”+=“先加后等
//声明变量,并且给变量赋值 var a = 10; // 使用var关键字声明变量,说明变量不存在才进行变量 // 变量a先加20,再将运算结果再赋给左边的变量 a += 20; //展开后 a = a + 20 = 10 + 20 = 30 document.write(a);
显示:30var a = "10"; a += 20; //展开后 a = a + 20 = "10" + 20= "10" + "20" = 1020 document.write(a);
显示:1020
- 写程序的一般步骤:
- 变量初始化
- 变量声明
- 变量赋值
- 程序的运行过程
- 输出结果
- 实例:输出个人的基本信息
<script type="text/javascript"> //实例:输出个人信息 //(1)变量初始化 var name = "张三"; var sex = "男"; var age = 32; var edu = "本科双学位"; var school = "中国人民公安大学"; //(2)构建要输出的结果 var str = "<h1>" + name + "的基本信息如下</h1>"; str += "<br />姓名:" + name; str += "<br />性别:" + sex; str += "<br />年龄:" + age; str += "<br />学历:" + edu; str += "<br />毕业学校:" + school; //(3)输出结果 document.write(str);
- 变量的类型——就是数据类型
- 变量的数据类型:数值型、字符型、布尔型、未定义型、空型、数组、对象、函数
- 变量的数据类型,分两大类:
- 基本数据类型:数值型、字符型、布尔型、未定义型、空型,很显著的特点:一个变量名只能存一个变量值。
- 举例:var a = 10 + 20;
- 复合数据类型:数组、对象、函数.显著特点:一个变量名,可以存多个值。
- 举例:var arr = [10,20,30,40];
- 数值型:变量能进行数学运算的
- 数值型包括:整型和浮点型。
- 数值型还有一个很特殊的值NaN。NaN(Not a Number)。
- 当将其他数据类型,转成数值型,转不过去,但程序又不能报错,这时将返回一个NaN的值。
<script type="text/javascript"> //假设想让一个<div>的宽变成原来的2倍宽 var width = "400px"; /*一个字符串,是不能直接转成有意义的数值; 只能转成NaN 一个含有字母的数值字符串,转成数值后变成NaN。如:"300px"--->NaN 一个纯数字的字符串,可以转成有意义的数值。如:"120"--->120 */ width = width * 2; document.write(width); // width = NaN </script>
显示:NaN
- 字符型:用单引号或双引号,引起来的一个字串。
- var a = "我是一个字符串";
- var a = '我也是一个字符串';
- var c = ""; //空字符串也算字符串
- 单引号和双引号之间可以相互嵌套
- 单引号内只能嵌套双引号。
- 双引号内只能嵌套单引号。
str += "<h1>\"" + name +"\"的基本信息</h1>"; //展开后 str = str + "abc" = "" + "abc" = "abc" str += "姓名:" + name;<span style="font-size: 16px;"></span>
- 如果想在双引号内,再嵌套双引号,里面的双引号,一定要进行转义(\")。
- JS中的转义字符是是反斜杠(\)
- 常用的转义字符:\'、\"、\\、\r、\n等。
- 也就是,当浏览器遇到反斜杠时(\),将会对其后的一个字符进行特殊对待,当成普通字符来对待。所谓“普通”字符就是a、b、c、&等。
/* 弹窗中的换行只能使用\n来实现; 而不能使用<br />,只有<body>中的<br />才会解析成换行符。*/ window.alert("HTML超文本标注语言\nCSS层叠样式表\njavascript脚本程序")
- 布尔型
- 布尔型又称逻辑型。只有两个值:true(真)、false(假)。
- 布尔型只有两个状态。如: 性别、婚否、灯的开关、是否列入黑名单等。
- var a = true;
- var b = false;
- 布尔型常用语if条件判断语句中
- if条件判断
- 语法结构:
- 只判断true,不判断false
if(条件判断:结果只有真或假){ 条件为true,将执行改代码};<span style="font-size: 16px;"></span>
- 说明:
- if是系统关键字,必须全小写。
- ()小括号中,是条件判断语句,判断的结果只有两种可能true或false。
- {}大括号中,是条件为true时,将执行的程序代码。
//根据isMarried的值,来输出是“未婚”,还是“已婚”。 var name = "周更胜"; var isMarried = true; // 进行条件判断 if(isMarried) { document.write(name+"的婚否状态是:已婚!"); }<span style="font-size: 16px;"></span>
- 语法结构——既判断true,也判断false
if(条件判断:结果只有两个true或false){ 条件为true,将执行该代码;}else{ 条件为false,将执行该代码;}说明:如果条件为true,则执行第一个{}; 如果条件为false,则执行第二个大括号{}中的代码。 其中,if和else都是系统关键字。else表示“否则”的含义
举例: //根据isMarried的值,来输出是“未婚”,还是“已婚”。 var name = "周更胜"; var isMarried = true; // 进行条件判断:二选一,不可能同时执行 if(isMarried) { document.write(name+"的婚否状态是:已婚!"); }else { document.write(name+"的婚否状态是:未婚!"); }
- 语法结构——既判断true,也判断false
- 未定义型
- 当一个变量定义,但未赋值时,将返回未定义型,未定义型的值只有一个undefined。
- 当一个对象的属性不存在,也返回未定义型。
// 定义变量a,但未赋值,此时的值为underfined。 var a; document.write(a);
- 空型
- 当一个对象不存在时,将返回空型,空型的值只有一个null。
- 也可以理解为:是一个对象的占位符。
- 如果你想清除一个变量的值的话,可以给其赋一个null的值。
- var a = 100;
- var a = null; //将一个null赋给一个变量,用于清除它的值。
- 变量的数据类型转换
- 变量的类型转换,一般情况下是JS自动转换的,但也有些时候需要手动转换。
- 其他类型转成布尔型
- 判断变量的数据类型:typeof(a)
- 使用一元运算符typeof(),可以测试一个变量的类型。
- typeof()测试的结果是一个类型字符串。
- typeof()的结果字符串有几种情况:
- "string"
- "number"
- "boolean"
- "undefined"
- "object"
- null、对象、数组这三种类型 ,typeof()返回的"object"类型。
- "function"
- 函数和方法的区别
- Boolean(a) //函数可以独立使用
- document.write(a) //方法不能独立使用,方法是必须要属于哪一个对象。
var a = undefined; //false //var a = null; //false // 验证自己口算的结果 // 我们可以使用boolean()全局函数,强制 转成布尔型 var result = Boolean(a); //Boolean判断时首字母一定要大写 // 输出变量的类型和结果 document.write("类型:"+typeof(result)+",值:"+result);<span style="font-size: 16px;"></span>
- 其他类型转换成布尔型
<script type="text/javascript"> // (1)其他类型转成布尔型 var a = "abc"; //true var a = "123"; //true var a = ""; //true var a = 100; //true var a = 0; //false var a = NaN; //false var a = undefined; //false //var a = null; //false // 验证自己口算的结果 // 我们可以使用boolean()全局函数,强制 转成布尔型 var result = Boolean(a); // 输出变量的类型和结果 document.write("类型:"+typeof(result)+",值:"+result); </script>
- 其他类型转换成布尔型
- 其他类型转换成字符型
<script type="text/javascript"> // (2)其他类型转成字符型 var a = true; //"true" var a = false; //"false" var a = 100; //"100" var a = 0; //"0" var a = NaN; //"NaN" var a = undefined; //"undefined" var a = null; //"null" // 验证自己口算的结果 // 我们可以使用string()全局函数,强制 转成布尔型 var result = String(a); // 输出变量的类型和结果 document.write("类型:"+typeof(result)+",值:"+result); </script>
var a = "";// "+"左右只要有一个字符串,那么另一个一定得转换成字符串,才能运算var b = a + true; //b = a + true = "" + "true" = "true"<strong><span style="font-size: 16px;"></span></strong>
- 其他类型转换成字符型
- 二元运算符:运算符左右,应该有两个操作数。如10 + 20
- 一算运算符:只有一个操作数。如typeof(a)或typeof a
- 其他类型转换成数值型
<script type="text/javascript"> // (3)其他类型转成数值型 var a = true; // 1 var a = false; // 0 var a = "100"; // 100 var a = "120px"; // NaN var a = ""; // 0 var a = null; // 0 var a = undefined; // NaN // 使用number()全局函数,进行强制转换 // 全局函数或系统函数,是JS内置的函数,名称或大小写必须一致。 var result = Number(a); // 输出变量函数 document.write("类型:"+typeof(result)+",值:"+result); </script>
- 其他类型转换成数值型
- 从字符串中提取整数和浮点数函数
- parseInt()系统函数、全局函数
- 功能:在一个字符串中,从左往右提取整型数值。如果遇到非整型的内容,则停止提取,并返回结果。
- 注意:如果第一个字符就是非整型,则立即停止,并返回NaN。
- parseInt("120px") = 120;
- parseInt("120.98") = 120;
- parseInt("a120px") = NaN;
<script type="text/javascript"> // 实例:将一个div元素的宽度乘以2后,重新赋给div元素 var width = "100px"; // 提取整型 width = parseInt(width); // 将宽乘以2 width = width * 2; document.write(width+"px"); </script>
- parseFloat()系统函数、全局函数
- 功能:在一个字符串中,从左往右提取浮点型,遇到非浮点型内容,则停止提取,并返回结果。
- 注意:如果第一个字符是非浮点型,则立即停驶,并返回NaN。
- parseFloat("120px") = 120;
- parseFloat("120.98") = 120.98;
- parseFloat(".98") = 0.98;
- parseFloat("120.34px") = 120.34;
- parseFloat("a.98f") = NaN;
0 0
- Javascript自学-2
- JavaScript自学ing(2)
- Javascript自学笔记2(数组)
- HTML之JavaScript自学笔记(2)
- JavaScript自学第2讲:JavaScript快速入门
- html + javascript 自学笔记
- 自学HTML之JavaScript
- 自学JavaScript第一课
- PHP自学 ---JavaScript
- Javascript自学-1
- Javascript自学-3
- Javascript自学-4
- Javascript自学-5
- Javascript自学-6
- Javascript自学-7
- Javascript自学-8
- JavaScript自学笔记
- 自学javascript的日子
- 泛型
- 1103. Integer Factorization (30)
- 毕业工作接近一年,昨天拖着疲惫的身体,远离家乡,又开始工作了
- poj1577 Falling Leaves 二叉排序树
- 有关802.11的Beacon帧
- Javascript自学-2
- Rails 控制器
- POJ 3258 River Hopscotch
- 2。16
- bind
- 1107. Social Clusters (30)
- GitLab 之 Linux十分钟快装
- linux配置nfs步骤及心得
- 基于netty的网络聊天室(一)——基础框架搭建