js-基础(1)
js-基础(1)
javascript由三部分组成:核心,DOM,BOM
核心——ECMAScript,可以运行浏览器/单纯的JS引擎
console.log(‘hello’);
DOM——操作HTML,需要浏览器
document.write(‘<hr/>’);
BOM——与浏览器交互,需要浏览器
window.alert(‘用户名已存在!请重试!’); //弹出一个警告框
window.prompt(‘请输入用户名:’); //弹出一个输入提示框
window.confirm(‘您确定要关闭当前页面吗?’); //弹出一个确认框
常见的浏览器的核心:
(1)IE的核心:Trident(双引擎)
(2)Chrome的核心:Webkit(渲染引擎)+V8(脚本解释)
(3)Safari的核心:Webkit(双引擎)
(4)Opera的核心:Presto(双引擎-o-) / Webkit(双引擎)
(5)Firefox的核心:Gecko(双引擎)
数据类型转换函数:
toString()
转换成字符串,所有数据类型均可以转换为string类型
parseInt()
解析出一个string或number的整数部分
如果没有可以转换的部分,则返回NaN
parseFloat()
解析出一个string的浮点数部分
如果没有可以转换的部分,则返回NaN
Number()
把一个string解析为number
如果包含非法字符,则返回NaN
isNaN函数
isNaN()
用于判断其参数是否为一个“非数字(NaN)”值
如果把NaN与任何值包括自身相比得到的结果均是false,所以要判断某个值是否是NaN,不能使用==或===运算符。这种情况下,只能使用isNaN()函数
通常用于检测类型转换函数的运算结果,以判断它们表示的是否是合法的数字
例:
console.log(isNaN('123.4a')); //true
console.log(isNaN(parseInt('123.4a'))); //false
console.log(isNaN(parseFloat('123.4a'))); //false
console.log(isNaN(Number('123.4a'))); //true
强制转换和自动转换
自动转换: ‘abc’+123 123+true
强制转换:
var n1 = 123;
var s1 = n1.toString();
var s2 = String(n1);
var s3 = ‘456.789abc123’;
var i1 = parseInt(s3); //456
var f1 = parseFloat(s3); //456.789
var n2 = Number(s3); //NaN
比较null和undefined的区别
null
语义:存在该数据,但当前还不存在确定的值(存在,但却还没有确定的值)
null在程序中代表“无值”或者“无对象”
可以通过给一个变量赋值null来清除变量的内容
例:
var demo = new Object();
demo.manager = null;
undefined
语义:不存在该数据(不存在)
声明了一个变量但从未赋值或者对象属性不存在
例:
var msg;
console.log(msg);
关系运算符
> number和string比较时,自动把string解析为number
< number和string比较时,自动把string解析为number
>= number和string比较时,自动把string解析为number
<= number和string比较时,自动把string解析为number
== number和string比较时,自动把string解析为number
!= number和string比较时,自动把string解析为number
=== 只有类型、值都相同,才判定为true
!== 只要类型或值有一项不同,即判定为true
补充运算符:
typeof: 用于判定变量的类型
例:
var str;
console.log(str); //undefined
URL和URI的关系
URI
URI:Unified Resource Identifier——不能出现空白字符、中文
URI 是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。URI一般由三部分组成:一、主机名。二、标志符。三、相对URI。
协议://用户名:密码@主机名(IP地址):端口号/路径/名称?查询字符串#锚点名
如:
ftp://tom:123@192.168.0.1:2121/day23/img/1.jpg
http://www.baidu.com/index.php?w=javascript
总结:URL是一种特殊的URI
URL
URL:Unified Resource Locator
URL:URL 统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。完整的、带有授权部分的普通统一资源标志符语法看上去如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
如:
ftp://tom:123@192.168.0.1:2121/day23/img/1.jpg
http://www.baidu.com/index.php?w=javascript
URN: <a href=”mailto: admin@tarena.com”>给管理员发邮件</a>
js-基础(1)的更多相关文章
- js 基础篇(点击事件轮播图的实现)
轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...
- js 基础
js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...
- js基础练习二之简易日历
今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...
- [JS复习] JS 基础知识
项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display :inline or bloc ...
- JS基础(超级简单)
1 JS基础(超级简单) 1.1 数据类型 1.1.1 基本类型: 1) Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2) ...
- Node.js基础与实战
Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...
- js基础到精通全面教程--JS教程
适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”J ...
- JS基础知识总结
js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划() ...
- js基础篇——call/apply、arguments、undefined/null
a.call和apply方法详解 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象 ...
- js基础知识总结(2016.11.1)
js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...
随机推荐
- Swift 必备开发库 (高级篇)
1.CryptoSwift swift加密库, 支持md5,sha1,sha224,sha256... github地址: https://github.com/krzyzanowskim/Crypt ...
- Oracle 12c 安装手册
Oracle 12C 首次安装 期待已久的Oracle 12C 终于发布了,我迫不及待的下载了介质,一睹风采. 下载地址:http://www.oracle.com/technetwork/datab ...
- 机器学习技法--学习笔记03--Kernel技巧
背景 上一讲从对偶问题的角度描述了SVM问题,但是始终需要计算原始数据feature转换后的数据.这一讲,通过一个kernel(核函数)技巧,可以省去feature转换计算,但是仍然可以利用featu ...
- 关于NMF(Non-negative Matrix Factorization )
著名的科学杂志<Nature>于1999年刊登了两位科学家D.D.Lee和H.S.Seung对数学中非负矩阵研究的突出成果.该文提出了一种新的矩阵分解思想――非负矩阵分解(Non-nega ...
- Scala 深入浅出实战经典 第48讲:Scala类型约束代码实战及其在Spark中的应用源码解析
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Android判断当前线程是否是主线程的方法
开发过程中有时候会在Thread类中执行某些操作,有些操作会由于Android版本的不同,尤其是低版本而Crash,因此必要的时候会查看某些容易引起crash的操作是否是在主线程,这里举三种方法: 方 ...
- WPF 定时写入文本
public static void Start() { ThreadStart start = new ThreadStart(ThreadAction); Thread th = new Thre ...
- Windows Azure 入门系列课程Windows Azure 入门系列课程
Windows Azure 入门系列课程 https://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/NewSeries/A ...
- CEF 相关资料
理解WebKit和Chromium: Content API和CEF3 http://blog.csdn.net/milado_nju/article/details/7455373 如何将Chrom ...
- DataGridView中添加CheckBox列用于选择行
DataGridView中添加CheckBox列用于选择行 1,编辑DataGridView,添加一列 CheckBox ,Name 赋值为 "select",如下图: 2,取消 ...