js + js数据类型
1、JavaScript在HTML中的引入方式
1、直接在行内添加JavaScript代码:
<a href="javascript:alert('hello');">hello</a>
<div onclick="alert('123456')">点击我试试</div>
<span onclick="alert('123456')">点击我试试</span>
<p class="p1">鼠标悬浮</p>
2、写在body下面,有两种方式
1)在HTML文件内部编写代码:("//"表示注释)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div></div>
<div></div>
<div></div>
</body>
<script>
// 在此处直接编写 js 代码
</script>
</html>
3)在HTML文件外部编写代码,HTML文件内部引入:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div></div>
<div></div>
<div></div>
</body>
<script src="./js/index.js">
// 在 script 标签中进行 src 引入
</script>
</html>
3、也可以在head中进行编写,但必须要使用 window.onload ,当页面加载完毕之后再执行js:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
</style>
<script>
// 使用 window.onload 函数,js 代码写在函数内部
window.onload = function(){
}
</script>
</head>
<body>
2、js 的输出方式
1、弹窗输出
警告框 :alert('hello world');
2、页面输出
document.write("hello world")
3、控制台输出(不是为了给用户看的,给开发者(程序员),错误信息)
console.log('hello world');
3、js的命名方式
4、变量
上一小节提到了js的命名方式,在其中我们提到了变量,可以知晓:=左边是变量名,=右边是变量的值
1、var name; // 变量的声明:name = 变量名
name = zichen; // 赋值 :zichen = 变量的值
注意:如果只是声明了一个变量,但是没有给这个变量赋值,输出的时候,就是 undefined (翻译是:未定义的)
2、一般不要将var声明放在输出之后 在给值或不给值的情况下,其结果相同,实例输出结果:

这样看起来仅仅只是变量值没有定义,那么下面这个例子,是在没有var声明情况下:

3、变量的类型
字符串:只要用引号包裹起来的,就是字符串
数字类型:0 18 -5 5.5 (零,正整数,负整数,正、负小数)
5、字符串类型 string
1. 只要用引号包裹起来的就是字符串(双引号,单引号)
var name = 'jack';
var age = "18";
console.log(name,age);
console.log(typeof name); 注意:typeof 的作用是检测当前变量值的类型
console.log(typeof(age));

2. 双引号里面不能写双引号,单引号里面不能写单引号
var say1 = "我今天学习了新知识 'javascript'";
var say2 = '我今天学习了新知识 "javascript"';
var say3 = "我今天学习了新知识 \"javascript\""; 注意新知识:反斜杠 "\",是转义字符,\"表示双引号
console.log(say1);
console.log(say2);
console.log(say3);
<script>
var say1 = "我今天学习了新知识 'javascript'";
var say2 = '我今天学习了新知识 "javascript"';
var say3 = "我今天学习了新知识 \"javascript\"";
console.log(say1);
console.log(say2);
console.log(say3);
</script>
3. 可以添加转义字符
var str = "我想要换行\n黄行之后的内容"; \n 表示换行
document.write(str); 注意:换行在页面进行输出时,无法进行换行,在页面换行,只有<br/>才行
alert(str);
console.log(str)
var str1 = "\062"; // 2*8^0+6*8^1 = 2+48 = 50
console.log(str1); \0 表示转为字符
var str2 = 0b11010111;
console.log(str2); 0b只有二进制数才能连接,作用是将二进制数转为十进制数
4. 字符串中的特殊符号 +
注意:只要+两边,有任意一个是字符串类型,那么+就是字符串拼接的作用
console.log(1+'hello');
console.log(1+'100');
console.log(1+100);
var str = 'jack';
console.log(str + 100);

5. 所有的变量只要用引号包裹起来,就会变成字符串
6、数字类型
1. 进制表示数字
二进制 0b
八进制 0
十六进制 0x
最终输出的时候,一定是十进制
var num1 = 014; // 八进制 14 转十进制
var num2 = 0b10110; // 二进制 10110 转十进制
var num3 = 0x147; // 十六进制 147 转十进制
console.log(num1);
console.log(num2);
console.log(num3);
输出结果:
2. 整型和浮点型
var num1 = 10.5;
console.log(typeof num1); 输出结果是 number (数字类型)
3. number类型( number , NaN[not a number] )
任何一个 NaN 和另外一个 NaN,永远不相等
console.log(typeof 10);
console.log(10 - 'a'); 其结果就是NaN
4. toFixed ( 小数点后的位数 ) 保留小数点后的位数
特点:四舍五入
console.log(0.158);
console.log(0.158.toFixed(2));
5. 浮点数是一个近似值
所以,有时候得到的并不是我们期待的结果
console.log(0.1+0.2);
console.log(1-0.9);
6. parseInt 得到一个整型,没有四舍五入
parseFloat 得到一个浮点型
console.log(parseInt(25.123)); 其结果是25
console.log(parseInt(25.623)); 其结果时25
console.log(parseFloat(25.623)); 其结果是 25.623
console.log(parseFloat(25.686.toFixed(2))); 其结果时 25.69
7、布尔型 Boolean
布尔类型只有两个值
var Dog = {
// 属性
'name':'旺财',
'age':3,
// 方法
'eat':function(){
// 在对象的方法中调用属性,this.name
// console.log('我叫'+this.name+'我喜欢吃肉');
// name 指的是,对象外面的name变量
console.log('我叫'+name+'我喜欢吃肉');
},
'drunk':function(){
console.log('喝酒');
}
}
console.log(Dog.a);
当我们执行 Dog.a 时,返回的是 andefined
"use strict";
x = 3.14;
console.log(x);

<script>
// "use strict";
x = 3.14;
console.log(x);
</script>
输出结果:


浙公网安备 33010602011771号