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 ...
随机推荐
- luoguP1281 书的复制 DP,贪心
luoguP1281 书的复制 链接 https://www.luogu.org/problemnew/show/P1281 思路 简单dp,输出方案. 很明显dp记录路径对不对? 恭喜你死了. 求出 ...
- 使用Log4j2实现日志输出
一.说明 如果是使用slf4j规范的,请先引用: <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-s ...
- innoDB锁小结
innodb的锁分两类:lock和latch. 其中latch主要是保证并发线程操作临界资源的正确性,要求时间非常短,所以没有死锁检测机制.latch包括mutex(互斥量)和rwlock(读写锁). ...
- CSS布局学习(三) - Normal Flow 正常布局流(官网直译)
默认情况下,元素是如何布局? 首先,取得元素的内容,加上内边距(padding),边框(border),外边距(margin)放在一个盒子中 - 这就是我们之前看到的盒子模型 默认情况下,块级元素的内 ...
- stlcky footers布局小技巧
sticky-footer解决方案 在网页设计中,Sticky footers设计是最古老和最常见的效果之一,大多数人都曾经经历过.它可以概括如下:如果页面内容不够长的时候,页脚块粘贴在视窗底部:如果 ...
- kafka生产者
1.kafka生产者是线程安全的,她允许多个线程共享一个kafka实例 2.kafka管理一个简单的后台线程,所有的IO操作以及与每个broker的tcp连接通信,如果没有正确的关闭生产者可能会造成资 ...
- Codeforces 1107 E - Vasya and Binary String
E - Vasya and Binary String 思路:区间dp + 记忆化搜索 转移方程看上一篇博客. 代码: #pragma GCC optimize(2) #pragma GCC opti ...
- recon工具解读
recon 是ferd 大神 释出的一个 用于生产环境诊断Erlang 问题的一个工具, 不仅仅是对Erlang stdlib 接口的封装, 还有memory fragmentation 相关的函数. ...
- 非阻塞IO发送http请求
import socket from urllib.parse import urlparse from selectors import DefaultSelector, EVENT_READ, E ...
- Configure the Stanford segmenter for NLTK
>>> from nltk.tokenize.stanford_segmenter import StanfordSegmenter >>> segmenter = ...