引入方式:

除了Python外其他语言都没有要求强制缩进。即JS对缩进无要求,只要符合语法即可。
示例中的alter为弹框

#单行注释
//
#多行注释
/*
注释
*/

直接在HTML中写入(了解)

<script>
//第一行JS
alter(123)
</script>

写到文件中引入

<script src="demo.js" ></script>

声明变量

变量赋值方式

var关键字声明一个字符串是变量。
再给定义的这个变量赋值。

单个变量赋值

<script>
var name;
name="yudong"
</script>
#可以简写为:
var age=3;

多变量的变量赋值

默认以换行符作为作为语句分隔符。也可使用分号作为语句的分隔符

var name="heling"; var age=18

数据类型

打印到屏幕终端。

数字and字符串

// console.log 输出打印到屏幕终端
// typeof 查看数据的数据类型
i=1
f=1.1
s="study"
console.log(i,typeof i);
//number
console.log(f,typeof f);
//number
console.log(s,typeof s);
//string
//不区分数字和浮点型

boolean

有两个值,true、false。逻辑判断
可以理解为数字类型的。True、False为0,1。可用于数字运算

undefined

只有一个值,undefined

遇到这个值的两种情况

  • 变量只声明,未赋值。
  • 当一个函数没有返回值的时候。

数据类型的存储

引用数据类型全部存在堆里。栈里存的都是基础数据类型。
堆里存的都是栈的内存地址。

数组

可以把多个数据存入其中。
C等语言在声明数组时要声明存储的数据类型

创建方式1:
var arrname = [元素0,元素1,….]; // var arr=[1,2,3]; 创建方式2:
var arrname = new Array(元素0,元素1,….); // var test=new Array(100,"a",true); 创建方式3:
var arrname = new Array(长度);
// 初始化数组对象:
var cnweek=new Array(7);
cnweek[0]="星期日";
cnweek[1]="星期一";
...
cnweek[6]="星期六";

对象

映射关系的数据结构。 键加不加引号都可以

var obj = {"Q":"Z"}

可以使用字典的基本操作,如取key的value:obj["Q"]

数组和对象的数据类型都是object。

JS的解释方式

JS先读完整个文件,才开始执行。所以变量的使用可以写在该变量声明的上面。

运算符

#++ --
var i = 1;
i++
console.log(i) #==
console.log(2=="2")
//返回时true,他在有一端是数字时另一端也会转换成数字>
#===
//不会转换数据类型,数据类型也必须一样。 #逻辑运算符,与 或 非
&& || !
真真为真,假假为假

字符串的拼接 用+号

NaN

转换数据类型时(即将字符串转换成数字类型)失败了会得到该类型。

流程控制语句

  • 分支控制语句 if
  • 循环控制语句 for while

JavaScript中使用{}来确认语句块(即满足条件时执行的语句体)。而Python中是使用:和缩进。

if-else if-else

if (表达式1) {
语句1;
}else if (表达式2){
语句2;
}else if (表达式3){
语句3;
} else{
语句4;
}

循环

  • 遍历循环 for
  • 条件循环 while JavaScript中都是条件循环。条件不满足就退出

详细见图片。

支持break 和 continue

js中的序列类型用.length都可以得到长度

函数

function funcname(参数) {
return X;
}

调用时可以传入任意数量的参数,它只接受固定数量的。
接受任意长度的 。
arguments 通过数组,获取所有传入的参数

匿名函数

// 匿名函数
var func = function(arg){
return "tony";
} // 匿名函数的应用
(function(){
alert("tony");
} )() (function(arg){
console.log(arg);
})('123')

BOM

window 是全局变量,调用时可以不用加window名,alter就是它里面的方法。

alter(info)

用于警告信息,只有确定

confirm(info)

显示带有一段消息以及确认按钮和取消按钮的对话框。 有返回值

prompt()

显示可提示用户输入的对话框。 有返回值

每一个标签都是一个对象

前端--3、JavaScript的更多相关文章

  1. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  2. 互联网公司前端初级Javascript面试题

    互联网公司前端初级Javascript面试题 1.JavaScript是一门什么样的语言,它有哪些特点?(简述javascript语言的特点)JavaScript是一种基于对象(Object)和事件驱 ...

  3. 第三篇:web之前端之JavaScript基础

    前端之JavaScript基础   前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript ...

  4. 好程序员web前端分享javascript关联数组用法总结

    好程序员web前端分享javascript关联数组用法总结,有需要的朋友可以参考下. Hash关联数组定义 代码如下 // 定义空数组 myhash = { } // 直接定义数组 myhash = ...

  5. 前端之JavaScript(二)

    一.概述 本篇主要介绍JavaScript的BOM和DOM操作,在前端之JavaScript(一)中介绍了JavaScript基础知识 1.1.BOM和DOM BOM(Browser Object M ...

  6. Python web前端 05 JavaScript

    Python web前端 05 JavaScript 一.获取元素 1.初识JavaScript /* .. */ #这是多行注释 // #这是单行注释 #JavaScript是一种脚本语言,是一种动 ...

  7. 我的前端规范——JavaScript篇

    相关文章 简书原文:https://www.jianshu.com/p/5918c283cdc3 我的前端规范——开篇:http://www.cnblogs.com/shcrk/p/9271561.h ...

  8. web前端分享JavaScript到底是什么?特点有哪些?

    web前端分享JavaScript到底是什么?特点有哪些?这也是成为web前端工程师必学的内容.今天为大家分享了这篇关于JavaScript的文章,我们一起来看看. 一.JavaScript是什么? ...

  9. 1+x 证书 Web 前端开发 JavaScript 专项练习

    官方QQ群 1+x 证书 Web 前端开发 JavaScript 专项练习 http://blog.zh66.club/index.php/archives/198/

  10. 前端(3)JavaScript

    前端(3)JavaScript JavaScript概述 1ECMAScript和JavaScript的关系: 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaS ...

随机推荐

  1. MySQL使用教程收集(语法教程/命令教程)

    说明:现在市面上的教程除了基本语法外,都基本是五花八门的,最权威且最全面的解释应该上官网去查看. https://www.tutorialspoint.com/mysql/index.htm http ...

  2. js获取上传的文件名称

    <input name="file_" type="file" id="file_" size="100" /&g ...

  3. 条款十七: 在operator=中检查给自己赋值的情况

    在赋值运算符中要特别注意可能出现别名的情况,其理由基于两点.其中之一是效率.如果可以在赋值运算符函数体的首部检测到是给自己赋值,就可以立即返回,从而可以节省大量的工作,否则必须去实现整个赋值操作. 另 ...

  4. 【CV论文阅读】生成式对抗网络GAN

    生成式对抗网络GAN 1.  基本GAN 在论文<Generative Adversarial Nets>提出的GAN是最原始的框架,可以看成极大极小博弈的过程,因此称为“对抗网络”.一般 ...

  5. [翻译角]Headline English: A Captain Should Be Pitch Perfect at a Multitude of Skills (ESLPOD Blog)

    以下转自www.eslpod.com,翻译为本人添加.其余版权均归原网站所有. ESLPOD是一个英语学习网站,我最初知道这个网站,是因为“奶爸”<把你的英语用起来>(电子版3元)一书的推 ...

  6. 【bzoj2003】[Hnoi2010]Matrix 矩阵

    首先可以知道,如果已知第一行和第一列的数,那么可以很容易的计算出其余的数.进一步的,如果笔算将每个数的表达式写出可以得出如下结论: 第i行的第j个数(i>1,j>1)只与(1,1),(i, ...

  7. P1196 [NOI2002]银河英雄传说(并查集)

    P1196 [NOI2002]银河英雄传说(并查集) 本题关键 用两个一维数组表示了一个稀疏的二维数组. 这两个一维数组一个表示祖先(就是最前面那个),一个表示距离祖先的距离. 并且还有一个关键点是, ...

  8. ASP.NET快速开发框架之工作流引擎

    大家好,啊!我小六六也有自己的博客了,今天我来跟大家分享下我的撸码心得,顺便吐槽下,我的坑爹上司.作为一名程序猿,我在系统开发方面也是“浸淫”了许久了!喔,不不不,是经营! 今天我就跟大家分享一下工作 ...

  9. luogu 3388 【模板】割点(割顶)

    点双. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> ...

  10. bzoj1016 [JSOI2008]最小生成树计数——Kruskal+矩阵树定理

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1016 从 Kruskal 算法的过程来考虑产生多种方案的原因,就是边权相同的边有一样的功能, ...