javascript入门教程笔记
BOM
BOM 是“ Browser Object Model ”的缩写,简称“ 浏览器对象模型 ”。
BOM 定义了 JavaScript 操作浏览器的接口,提供了访问某些功能(如浏览器窗口大小、版本信息、浏览历史记录等)的途径以及操作方法。
遗憾的是,BOM 只是 ECMAScript 的一个扩展,没有任何相关标准,W3C也没有对该部分作出规范,每个浏览器厂商都有自己的 BOM 实现,这可以说是 BOM 的软肋所在。
通常情况下,浏览器特定的(即非 W3C 标准规定的)JavaScript 扩展都被看作 BOM 的一部分,主要包括:
- 关闭、移动浏览器及调整浏览器窗口大小;
- 弹出新的浏览器窗口;
- 提供浏览器详细信息的定位对象;
- 提供载入到浏览器窗口的文档详细信息的定位对象;
- 提供用户屏幕分辨率详细信息的屏幕对象;
- 提供对cookie的支持;
- 加入ActiveXObject类扩展BOM,通过JavaScript实例化ActiveX对象。
注意:BOM 有一些“事实上的标准”,如操作浏览器窗口、获取浏览器版本信息等,在不同浏览器中,对它们的实现方法是一样的。
JavaScript 支持单行注释和多行注释:单行注释以 // 开头;多行注释以 /* 开始,以 */ 结尾。 JavaScript不支持多行嵌套注释。
JavaScript 是弱类型的语言,声明变量时无需声明数据类型,JavaScript 会根据变量内容自动判断数据类型。这就意味着,JavaScript 拥有动态类型,同一个变量可以赋予不同类型的值。这在C语言、C++和Java等强类型语言中是无法办到的。JavaScript 变量命名规范:变量必需以 字母、$ 和 _ 开头,不能以数字和其他字符开头。区分大小写
在JavaScript中,未赋值变量有一个默认值,是 undefined ,即” 未定义 “。在JavaScript中,引用一个未赋值的变量,其值为 undefined ,引用一个未声明的变量将会引发错误。
| Number | 数字类型 |
| String | 字符串类型 |
| Boolean | 布尔类型 |
| Undefined | 表示一个变量未被赋值 |
| Null | 空的对象 |
Number 类型还有一个特殊值 NaN(非数值 Not a Number)。用于表示一个本来要返回数值的操作并未返回数值。
如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为 null 而不是其他值。
常见的运算符有算数运算符、比较运算符和逻辑运算符。“+”号不但可以将两个数据相加,还可以用来连接字符串。当字符串和数值进行混合运算时,JavaScript 会自动判断“ + ”号的作用,是相加运算,还是连接字符串。如果是连接字符串,数值也将被转换为字符串。
使用关键词 new 来创建数组对象
var myArray=new Array();
myArray[0] = " zhangming ";
myArray[1] = " zhaowei ";
myArray[2] = " wanghua ";
var myArray=new Array(" zhangming " , " zhaowei " , " wanghua ");
使用 [ ] 直接创建数组
var myArray=[];
myArray[0] = " zhangming ";
myArray[1] = " zhaowei ";
myArray[2] = " wanghua ";
var myArray=[ " zhangming " , " zhaowei " , " wanghua " ];
在JavaScript中,通过 length 来获得数组、字符串的长度。
四舍五入round()
向下取整(下舍入)floor()
向上取整(上舍入)ceil()
通过 Math 对象的 random() 方法可以返回一个介于 0 ~ 1 之间的随机数。
if( ){ } else if( ){ }相当于if( ){ }else{ if( ){ } }
三目运算符
语法:
conditions ? statementA : statementB ;
上述语句,首先判断条件condition,若结果为真则执行语句statementA,否则执行语句statementB。
值得注意的是,由于 JavaScript 脚本解释器将分号“ ; ”作为语句的结束符,statementA 和 statementB 语句均必须为单个语句,使用多个语句会报错。
在JavaScript中,使用 break 和 continue 语句跳出循环:
- break语句的作用是立即跳出循环,即不再执行后面的所有循环;
- continue语句的作用是停止正在执行的循环,直接进入下一次循环。
javascript入门教程笔记的更多相关文章
- ArcGIS API for JavaScript 入门教程[0] 目录
随时翻看. 转载注明出处,博客园/CSDN/B站:秋意正寒. Part 1 必看 ArcGIS API for JavaScript 入门教程[1] 渊源 你还真不一定知道这是啥.非得学吗? ArcG ...
- 无废话MVC入门教程笔记
自学mvc,看了园子里李林峰写的李林峰写的无废话MVC入门教程笔记,现在有的平时忽略的或是不太清楚的点记下来 1,Html.DropDownList //服务端写法 @{ //下拉列表的值 List& ...
- 2019-03-22 Python Scrapy 入门教程 笔记
Python Scrapy 入门教程 入门教程笔记: # 创建mySpider scrapy startproject mySpider # 创建itcast.py cd C:\Users\theDa ...
- ArcGIS API for JavaScript 入门教程[2] 授人以渔
这篇仍然不讲怎么做,但是我要告诉你如何获取资源. 目录:https://www.cnblogs.com/onsummer/p/9080204.html 转载注明出处,博客园/CSDN/B站:秋意正寒. ...
- ArcGIS API for JavaScript 入门教程[4] 代码的骨架
[回顾与本篇预览] 上篇简单介绍了JsAPI中的数据与视图,并告诉大家这两部分有什么用.如何有机连接在一起. 这一篇快速介绍一下前端代码的骨架.当然,假定你已经熟悉HTML5.CSS3和JavaScr ...
- JavaScript入门-学习笔记(一)
JavaScript入门(一) 学习js之前,我们先来了解一下,什么是JavaScript? JavaScript是一种解释型语言.在运行的时候,一边读一边编译一边执行.简单来说就是,在执行js代码时 ...
- Swagger快速入门教程笔记
现在市面上大多数公司都摒弃了传统 jsp 开发,采用前后端分离式的开发规则,前端使用 Vue,Angular,React 等等完成页面,后端省掉了视图跳转的过程,直接书写接口返回 json 数据供前端 ...
- ArcGIS API for JavaScript 入门教程[1] 渊源
->对于萌新,你可能需要了解一下这个东西是什么 ->对于已经知道要用这个东西的开发者,你可能需要了解一下它的底层机制 不针对大牛.龟速更新ing. 转载注明出处.博客园&CSDN& ...
- JavaScript入门学习笔记(二)
JavaScript运算符: 算术运算符.赋值运算符和字符串连接运算符. 算法运算符与复制运算符用法参照Java: 字符串运算符: +运算符用于把文本值或字符串变量连接起来,适用于两个或更多字符串变量 ...
随机推荐
- 图论&数学:最小平均值环
POJ2989:求解最小平均值环 最优化平均值的显然做法是01分数规划 给定一个带权有向图 对于这个图中的每一个环 定义这个环的价值为权值之和的平均值 对于所有的环,求出最小的平均值 这个结论怎么做的 ...
- Python学习笔记(十八)@property
# 请利用@property给一个Screen对象加上width和height属性, # 以及一个只读属性resolution: # -*- coding: utf-8 -*- class Scree ...
- 可编辑表格(Editable Table)
需求分析 1.单击table的每个cell后,给cell加上一个尺寸相当的input; 2.input后把value传给cell的innerHTML; 3.失焦后删除input. HTML <! ...
- placeholder样式设置
在input框中有时想将输入的字和placeholder设为不同的颜色或其它效果,这时就可以用以下代码来对placeholder进行样式设置了. ::-webkit-input-placeholder ...
- zabbix 监控服务器的TCP状态
本文介绍如何监控TCP的11种状态: 1.命令选择: ss or netstat netstat 在 Centos7上已经不再支持,ss 打印基于socket的统计信息,实际运行下来,ss的速度比ne ...
- 机器学习-kNN(1)
一 kNN算法简介 kNN(K-Nearest Neighbor)工作原理:存在一个样本数据集合,也称为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类对应的关系.输入 ...
- sublime出现卡顿的现象
这几天,用sublime总是写一个代码就卡顿,卡卡卡,,,,要死的~ 最后,才发现是因为安装了一个插件:GitGutter插件,所以,小伙伴们请跟上我的节奏~~~~~ (1)Ctrl + Shift ...
- 爬虫--PySpider框架
PySpider框架 PySpider框架的作用
- 【Eclipse】Elipse自定义library库并导入项目
1.定义像JRE System Library之类的库 (1)点击UserLibrary (2)如果没有就点击new新建一个user library,否则进行4 (3)向user library添加 ...
- 搭建linux+nginx+mysql+php环境
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpn ...