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>
特征
值不可变
存放在栈中
html-7(JavaScript-1)的更多相关文章
- 利用百度API(JavaScript 版)实现在地图上绘制任一多边形,并判断给定经纬度是否在多边形范围内。以及两点间的测距功能
权声明:本文为博主原创文章,未经博主允许不得转载. 利用百度API(JavaScript 版)实现在地图上绘制任一多边形,并判断给定经纬度是否在多边形范围内.以及两点间的测距功能. 绘制多边形(蓝色) ...
- 前端性能优化(JavaScript篇)
正巧看到在送书,于是乎找了找自己博客上记录过的一些东西来及其无耻的蹭书了~~~ 小广告:更多内容可以看我的博客 优化循环 如果现在有个一个data[]数组,需要对其进行遍历,应当怎么做?最简单的代码是 ...
- 学习Redis你必须了解的数据结构——双向链表(JavaScript实现)
本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/ 下午分享了JavaScript实现单向链表,晚上就来补充下双向链表吧.对链表 ...
- 【干货分享】前端面试知识点锦集03(JavaScript篇)——附答案
三.JavaScript部分 1.谈谈你对Ajax的理解?(概念.特点.作用) AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是 ...
- 前端试题本(Javascript篇)
JS1. 下面这个JS程序的输出是什么:JS2.下面的JS程序输出是什么:JS3.页面有一个按钮button id为 button1,通过原生的js如何禁用?JS4.页面有一个按钮button id为 ...
- 前端知识杂烩(Javascript篇)
1. JavaScript是一门什么样的语言,它有什么特点?2.JavaScript的数据类型都有什么?3.请描述一下 cookies,sessionStorage 和 localStorage 的区 ...
- 十大经典排序算法总结(JavaScript描述)
前言 读者自行尝试可以想看源码戳这,博主在github建了个库,读者可以Clone下来本地尝试.此博文配合源码体验更棒哦~~~ 个人博客:Damonare的个人博客 原文地址:十大经典算法总结 这世界 ...
- 【经验之谈】前端面试知识点总结03(JavaScript相关)——附答案
目录 三.JavaScript部分 1.谈谈你对Ajax的理解?(概念.特点.作用) 2.说说你对延迟对象deferred的理解? 3.什么是跨域,如何实现跨域访问? 4.为什么要使用模板引擎? 5. ...
- 逆转序列的递归/尾递归(+destructuring assignment)实现(JavaScript + ES6)
这里是用 JavaScript 做的逆转序列(数组/字符串)的递归/尾递归实现.另外还尝鲜用了一下 ES6 的destructuring assignment + spread operator 做了 ...
- 前端面试知识点集锦(JavaScript篇)
目录 1.谈谈你对Ajax的理解?(概念.特点.作用) 2.说说你对延迟对象deferred的理解? 3.什么是跨域,如何实现跨域访问? 4.为什么要使用模板引擎? 5.JavaScript是一门什么 ...
随机推荐
- Blazor资源大全,很棒的Blazor
Blazor资源大全 一个收集了很棒的Blazor资源的集合. Blazor是一个使用C#/Razor和HTML在浏览器中运行的.NET Web框架. 欢迎贡献!请先查看贡献指南.感谢所有的贡献者,你 ...
- Day07_Java_作业
A:简答题 1. 构造方法的作用是什么?构造方法的特点是什么?构造方法的注意事项? 构造方法中可不可以写return语句呢? 2. 一个类的缺省构造方法可以有参数吗? 3. 静态代码块和构造代码块的特 ...
- Spring-Bean的依赖注入的数据类型
Spring-Bean的依赖注入的数据类型 除了对象的引用可以注入,普通数据类型,集合等都可以在容器中进行注入 数据的三种数据类型 普通数据类型 引用数据类型 集合数据类型 普通数据类型 public ...
- Blazor如何跟随“系统主题”?
1. 前言 跟随系统主题已经是绝大多数App和网站的标配 但是如何在Blazor中跟随系统主题? 只找到Masa Blazor技术团队发的 MAUI + Masa Blazor 开发界面跟随系统主题切 ...
- jquery中for循环一共几种
$.each() 第一个参数是循环的对象 , 第二个参数对对象中的每一个元素 执行 function函数 ,function 的第一个参数 i 是索引,item 是 循环对象中的每一个元素.
- Go中 net/http 使用
转载请注明出处: net/http是Go语言标准库中的一个包,提供了实现HTTP客户端和服务器的功能.它使得编写基于HTTP协议的Web应用程序变得简单和方便. net/http包的主要用途包括: 实 ...
- 跟运维学 Linux - 03
权限机制和性能指标 前面我们学完了操作文件和用户相关知识,本篇学习权限和性能相关知识. 文件的属性看起 看 linux 的权限,先从文件的属性看起 ls -l 加 -d 是只看这个文件夹: pjl@p ...
- JDK中动态库加载路径问题,一文讲清
前言 本周协助测试同事对一套测试环境进行扩容,我们扩容很原始,就是新申请一台机器,直接把jdk.resin容器(一款servlet容器).容器中web应用所在的目录,全拷贝到新机器上,servlet容 ...
- wineqq中接收文件的查看与移动
在Ubuntu等linux系统中安装QQ都需要安装wine支持,而在使用时,会遇到qq接收到的文件无法直接进行操作等问题. 这时,我们发现直接对文件进行复制后,无法在Ubuntu目录中进行粘贴. 其实 ...
- Baby_python 反编译
ok,直接pyc直接反编译 逻辑清楚 拿到flag直接搞 结果提交给错了我把前缀改成flag{}这种格式也给错真是摸不着头脑 难道是base64解密错误?? 找了另外一个网站 ???这个是啥?? 与之 ...