html-7(JavaScript-1)

放在函数里面

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>dem</title>
<style type="text/css">
 h1 {
  color: red;
 }
</style>
</head>
<body>
<p id="dem">改变内容</p>
<button type="button" onclick="dd()">点击</button>
<script type="text/javascript">
function dd(){
document.getElementById('dem').innerHTML='<h1>Hello Javascript</h1>';
}
  
</script>
</body>
</html>

(一)输入输出

语句功能
window.alert();弹出警告框
document.write();写入HTML,重置文档
innerHTML();写入HTML,不会重置文档
console.log();写入控制台

1.alert();

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <button type="button" onclick="alert('hello word!');">点击</button>
</body>
</html>

2.innerHTML
在被选中元素的内部添加新的HTML代码;不会使页面重置

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>dem</title>
<style type="text/css">
h1 {
 color: red;
}
</style>
</head>
<body>
<p id="dem">改变内容</p>
<button type="button" onclick='document.getElementById("dem").innerHTML="<h1>Hello Javascript</h1>"'>点击</button>
</body>
</html>

3.document.write();

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <p>Frist</p>
 <button type="button" onclick='document.write(5+6);'>点击</button>
</body>
</html>

4.console.log();

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <p>Frist</p>
 <button type="button" onclick='console.log("sssaa")'>点击</button>
</body>
</html>

常用输入
1.prompt对话框

prompt(text,defaultText);

text:可选,在对话框中显示的纯文本
default:可选,默认的输入文本

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <button type="button" onclick="f_prompt()">点击</button>
 <script type="text/javascript">
  function f_prompt(){
   var name=prompt("请输入姓名!","admin");
   if(name!=null&&name!=""){
    document.write("你好!"+name+"!");
   }
   else{
    alert("Wrong!");
   }
  }
 </script>
</body>
</html>

(二)变量,常量,字面量

常量:const q=10;不可改
变量:可以使用var关键字声明变量,变量的值可以是任意类型

var name="sss";

let与var类似,但是只是声明的变量只在其所在代码块内有效

let name="sss";

变量提升:
浏览器会先解析代码
例子:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <script type="text/javascript">
  console.log(content);
 </script>
</body>
</html>

以上代码会报错: content is not defined

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <script type="text/javascript">
  console.log(content);
  var content="sss";
 </script>
</body>
</html>

以上代码不会报错:undefined(为content的值)
因为浏览器将 var content=“sss”;拆分为var content;content=“sss”;然后将var content;提到代码最前面
所以上面代码实际为:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <script type="text/javascript">
  var content;
  console.log(content);
  content="sss";
 </script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <script type="text/javascript">
  var content;
  console.log(content);
  content="sss";
  console.log(content);
 </script>
</body>
</html>

1.例题:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <button onclick="foo();">点解</button>
 <script type="text/javascript">
  function foo(){
   if(false){
    //var content="sss";
   }
   console.log(content);
  } 
 </script>
</body>
</html>

var content=“sss”;
注释掉前:undfined
注释掉后:报错
2.例子

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <script type="text/javascript">
  console.log(vl);
  var vl=100;
  function foo(){
   console.log(vl);
      var vl=200;
   console.log(vl);
  } 
  foo();
 </script>
</body>
</html>

结果为:
undfined
undfined
200

全局污染

1.不写关键字

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>dem</title>
</head>
<body>
<script type="text/javascript">
 function foo(){
      vl=200;
 } 
 foo();
 console.log(vl);
 var v1=100;
 console.log(vl);
</script>
</body>
</html>

输出的都是200

(三)基本数据类型

  • number
  • string
  • boolean
  • symbol
number
<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <script type="text/javascript">
  var v1=100;
  var v2=100.2;
  console.log(typeof v1);
  console.log(typeof v2);
 </script>
</body>
</html>
NaN

代表非数字的值,两个等于号只能比较值,不能比较类型;三个等于号可以比较类型

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <script type="text/javascript">
  var v1=100;
  var v2="100";
  console.log(v1==v2);
  console.log(v1===v2);
 </script>
</body>
</html>

Number()函数将字符串转化为数字

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <script type="text/javascript">
  var v1=100;
  var v2="100";
  console.log(typeof Number(v2));
  console.log(Number("sss"));//NaN
  console.log(typeof Number("sss"));
 </script>
</body>
</html>

NaN与所有值都不相等,包括他自己

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <script type="text/javascript">
  console.log(NaN==NaN);
  console.log(NaN===NaN);
 </script>
</body>
</html>

isNaN()判断是否为数字

isNaN(NaN);//true
isNaN(123);//false

isNaN()会隐式的将他们的参数换成数字,所以即便参数是个字符串,他会返回true(因为先调用Number()函数转换,然后对结果调用isNaN()调用

string

单引号和双引号都是string类型

undefined

已声明、未赋值的值,没有值的值,连数据类型都没有
1.

var test;
console.log(test);//undefined
function() f(x){
return x;
}
console.log(f());//undefined
function() f(x){
alert(x);//弹框
}
console.log(f(1));//undefined
null

空值

null与undefined
console.log(undefined==null);//true
console.log(undefined===null);//false
console.log(Number(null));//0
console.log(Number(undefined));//NaN
console.log(5+null);//5
console.log(5+undefined);//NaN
symbol

给变量创建一个全局唯一的值。属于基本数据类型

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <script type="text/javascript">
  var a=Symbol("qq");
  var b=Symbol("qq");
  console.log(a==b);
  console.log(a===b);
  console.log(a.description);
 </script>
</body>
</html>

description并不是Symbol的值,仅仅对值的描述,就像注释一样

for声明的是全局变量

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>dem</title>
</head>
<body>
 <script type="text/javascript">
  var a=Symbol.for("qq");
  var b=Symbol.for("qq");
  console.log(a==b);
  console.log(a===b);
  console.log(a.description);
 </script>
</body>
</html>
特征

值不可变
存放在栈中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m晴朗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值