JavaScript 基础篇1
JavaScript引用问题
1:<script>标签引用嵌入html页面中,在外部引用中是JavaScript文件时必须用src属性设置相应的文件的URL。2:在不使用defer和async,<script>元素按照出现在页面的先后顺序依次的解析,标签位置在主要内容的后面:。</body>前面。3:defer属性可以让脚本在文档完全呈现以后执行,延迟脚本总是按照他们指点的顺序执行。4:anync属性可以表示当前脚本不比等待其他脚本,不必阻塞文档呈现,不能保证异步脚本按照它们页面出现的顺序执行。5:<noscript>指定在不支持脚本的浏览器中显示的替代内容,但启动了脚本就不会显示任何<noscript>内容。
基 本 概 念
语法
ECMAscriptb中的一切(变量,函数名和操作符)都区分大小写。标识符(变量,函数,属性)或者函数参数。标识符格式规则:1,第一字符必须是一个字母,下划线(_),或美元符号($),驼峰式是最好的。
单行注释// 多行注释/* */
严格模式:解决不确定行为,不安全的会抛出错误, 在顶部添加"use strict",也可以在方法里面写。
语句:以一个分号 结尾;可以省略分号,解析器会确定语句的结尾但不赞同。条件控制语句(如if语句)的情况下要求代码块,在控制语句中使用代码块让编码意图清晰,降低代码出错的几率。
关键字和保留字:关键字可用于控制语句的开始或结束。关键字是为语音保留的不能用作标识符,关键字例如 break if do 等等。保留字为:int short 等等。
变量
变量是松散类型的数据,也就是能存储任何类型的数据,定义变量用var操作符,(注意var是一个关键字),后面变量是标识符。
var在function函数中定义变量时,这个变量在函数退出后就会销毁;如果在function函数里面定义一个变量,去掉var时,那么这个变量就会成为全局变量,在这个文件的函数外面都会被访问到。
数据类型
五种基本数据类型:undefined,null,boolen,number和string。一种复杂数据类型object。
首先说下typeof,它是检测给定变量的数据类型,typeof null会返回object,因为它是空的对象,chrome7之前版本中,typeof正则表达式,会返回function,而其他会返回object,从技术的角度来看,函数在ecmascript中是对象,不是数据类型,而函数是特殊的属性,因此通过typeof操作符来区分函数和其他对象。
一,underfind(未定义)
underfind 有两种情况,1是未声明,2未初始化(也就是没有赋值)。
二,null(空指针对象)
一般保存对象时判断非空,如果你保存的是变量而不是真正的对象,就让你保存为null。(unll和underfind之间的相等操作符(==)返回值为true.它们可以转换)。
三,number(数字)
整数和浮点数值两种。
整数,除了10进制外,八进制:字面值的第一位是零,然后八进制的序列是0-7。十进制:前面两位必须是0x,后跟任何16进制的数字,(0-9及A-F)A-F可以大写也可以小写。但在计算时所有的八进制和十进制都将转换成十进制数值。
浮点数值,就是该数值必须包括一个小数点,小数点后面必须有一个有效的数字。犹豫浮点数值储存时时整数的二倍,所以浮点数值会使用e表示法,也就是科学计数法,
举例说明吧,0.00000000000000003也就是简洁为3e-17,默认6个0以上的用e表示法。
数值转换
Number(),parseInt()和parseFloat()这三个函数把非数值转换成数值,第一个number()用于任何数据类型的转换,而另外两个专门用于把字符串转换成数值。
number()函数转换规则:
1,如果是Boolean值,true和false将分别转换成1和0;
2,如果是数字值,只是简单的传入和返回。
3,如果为null将返回0;
4,如果为undfind,将返回NaN;
5,如果是字符串。如下
*,如果字符串是数字,将其转换成字符串。
*,如果是有效的浮点数值,将转换成对应的浮点数值。
*,16进制将转换成十进制。
*,空转换为0。
*,上述以为转换成NaN。
6,如果是对象,调用valueof()方法,在按照前面的规则转换。如果转换结果为NaN,调用toString()方法,在依照前面的规则转换返回字符串。
parseInt()方法判断是否符合数字模式,在转换字符串时,他会忽略字符串前面的空格,直到找到非空数值,如果第一个字符不是数值或为负号,返回NaN。
parseInt()对空字符串返回值为NaN,number返回0。
如果字符串第一个是数字字符会继续解析,直到解析完所以数字字符,或遇到非数字字符。
如果是八进制和十六进制会自动解析成十进制。其他如上。
parseFloat()方法,和上面一样,不过他当遇到第一个小数点是有效的,在遇到就是无效的。
Boolean(布尔类型)
string(字符串)
object(对象)
JavaScript 基础篇1的更多相关文章
- 一步步学习javascript基础篇(0):开篇索引
索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...
- 一步步学习javascript基础篇(3):Object、Function等引用类型
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...
- Javascript基础篇小结
转载请声明出处 博客原文 随手翻阅以前的学习笔记,顺便整理一下放在这里,方便自己复习,也希望你有也有帮助吧 第一课时 入门基础 知识点: 操作系统就是个应用程序 只要是应用程序都要占用物理内存 浏览器 ...
- 一步步学习javascript基础篇(8):细说事件
终于学到事件了,不知道为何听到“事件”就有一种莫名的兴奋.可能是之前的那些知识点过于枯燥无味吧,说起事件感觉顿时高大上了.今天我们就来好好分析下这个高大上的东西. 可以说,如果没有事件我们的页面就只能 ...
- 一步步学习javascript基础篇(5):面向对象设计之对象继承(原型链继承)
上一篇介绍了对象创建的几种基本方式,今天我们看分析下对象的继承. 一.原型链继承 1.通过设置prototype指向“父类”的实例来实现继承. function Obj1() { this.name1 ...
- 一步步学习javascript基础篇(4):面向对象设计之创建对象(工厂、原型和构造函数等模式)
前面我们介绍了可以通过Object构造函数或对象字面量都可以用来创建单个对象,但是如果需要创建多个对象的话,显然很多冗余代码. 接下来介绍几种模式来创建对象.不过在此之前,我们还是先来了解下 type ...
- 一步步学习javascript基础篇(1):基本概念
一.数据类型 数据类型 基本数据类型(五种) Undefined Null Boolean Number String 复杂数据类型(一种) Object Undefined:只有一个值undefin ...
- 前端见微知著JavaScript基础篇:你所不知道的apply, call 和 bind
在我的职业生涯中,很早就已经开始使用JavaScript进行项目开发了.但是一直都是把重心放在了后端开发方面,前端方面鲜有涉及.所以造成的一个现象就是:目前的前端知识水平,应付一般的项目已然是足够的, ...
- web前端篇:JavaScript基础篇(易懂小白上手快)-2
目录 一.内容回顾: ECMAScript基础语法 1.基本数据类型和引用数据类型 2.条件判断和循环 3.赋值运算符,逻辑运算符 4.字符串的常用方法 5.数组的常用方法 6.对象 7.函数 8.日 ...
- javascript 基础篇 随课笔记
!DOCTYPE HTML><html><head><meta name="content-type" content="text/h ...
随机推荐
- 最短路径之Bellman-Ford算法的队列优化及邻接表
参考链接:https://blog.csdn.net/qq_40626497/article/details/81139344
- [pytorch修改]dataloader.py 实现darknet中的subdivision功能
dataloader.py import random import torch import torch.multiprocessing as multiprocessing from torch. ...
- VC++ 实现INI文件读写操作
转载:https://blog.csdn.net/fan380485838/article/details/73188420 在实际项目开发中,会用ini配置文件,在此总结一下对ini读写操作 一:读 ...
- 20175312 2018-2019-2 《Java程序设计》第3周学习总结
20175312 2018-2019-2 <Java程序设计>第3周学习总结 教材学习内容总结 已依照蓝墨云班课的要求完成了第四章的学习,主要的学习渠道是PPT,和书的课后习题. 总结如下 ...
- App自动更新(DownloadManager下载器)
一.开门见山 代码: object AppUpdateManager { const val APP_UPDATE_APK = "update.apk" private var b ...
- Foxmail7.2新建的文件夹不见了
Foxmail在客户端上,新建了几个文件夹,并把相应的邮件都都选择了“总是把**邮件转移到”这个选项. 今天早上打开电脑一看,所有的邮件连同对应的文件夹都找不到了 Foxmail中没显示因为默认是隐藏 ...
- nodeJs的Buffer操作
再nodejs里,很多类是引入模块才能使用,Buffer是一个全局类,他不需要require引入 Buffer有三种构造函数 //1.在构造函数传一个数字,规定buffer的长度.默认全是16进制的0 ...
- Gerapy的简单使用
1. Scrapy:是一个基于Twisted的异步IO框架,有了这个框架,我们就不需要等待当前URL抓取完毕之后在进行下一个URL的抓取,抓取效率可以提高很多. 2. Scrapy-redis:虽然S ...
- linux搭建node环境
这篇完全够了! 地址:https://www.cnblogs.com/lovefc/p/8847343.html 附上一张图:
- python3练习-发送IP地址到邮箱
需求: 从外网通过VPN访问内网,并登录电脑A.在电脑A通过共享文件夹(需要\\IP的方式访问)访问到内网电脑B,由于电脑B的WI-FI的IP地址会变化,所以当电脑B的I访问路径需要获知电脑B的最新I ...