javascript 基础知识汇总(一)
1、脚本标签
1) 可以通过<script> 标签将javaScript 代码添加到页面中 (type 和language 属性不是必须的)
2)外部的脚本可以通过 <script src="path/*.js" > </script> 这种方式插入
示例1:
<!DOCTYPE HTML>
<html>
<body>
<p>script 标签之前...</p>
<script>
alert('Hello, world!');
</script>
<p>...script 标签之后</p>
</body>
</html>
示例2:
js 文件 和html分开
//js代码 js文件名位hello.js 路径位 path/hello.js
alert('hello') html代码
<!DOCTYPE HTML>
<html>
<body> <script src="path/hello.js"> </script> </body> </html>
2、代码结构
语句:语句是执行操作的语法结构和命令
分号:多数情况下,当一个分行符(line break) 存在时, 分号可以省略
alert('hello')
alert('world')
//此处 JavaScript 将分行符解释成“隐式” 的分号。这也被成为自动分号插入
不被解释成分号的例子
alert(3+
1
+3);
//1后面不会被解释成分号
错误举例
alert("There will be an error") //此处无分号
[1,2].forEach(alert)
//这样会运行错误, 因为javascript 不会在 [] 前自动加隐式分号
alert("this is right");
[1,2].forEach(alert)
//运行正确
注释
//这样是单行注释 /* 这样是多行注释
注意多行注释不能嵌套多行注释
*/
3、现代模式,“use strict"
”use strict" 指令将浏览器引擎转换位“现代模式”
严格模式通过将“use strict" 放置在整个脚本或函数的顶部来启用一些新语言特性诸如 “classes” 和 “modules” 也会自动开启严格模式。
所有浏览器支持现代模式
4、变量
变量的作用是用来存储信息;
声明变量的方式 通过 var 、let 、const
var 是旧时的命名方式;let 为新时代的命名方式;差别放在以后介绍。
const 用来定义常量,此关键字定义出来的常量不可更改
变量命名规则:1、变量名称必须仅包含字母,数字,符号 $ 和 _。2、首字符必须非数字。
示例
let name1="xiaoming";
let _ ="xiaohong";
let $="xiaozhang";
//以上命名都是正确的
let 123Name="test" //此处命名是错误的
const MAX =1000; //
MAX=2;//错误,const 定义的值是不可更改的
//不能使用关键字当做变量名 let var ="2" //错误 //变量命名 一定要规范,规范的命名方式可以提高代码的可读性
5、数据类型
javaScript 拥有数据类型,但是变量并不限于数据类型中的任何一个。即javaScript 语言称为“动态类型“ 编程语言。
示例:let messgae="hello"; message=123465;
JavaScript 中有七中基本的数据类型
number 用于任何类型的数字:整数或者浮点数。
Infinity 最大值 得到方式任何数除以0 alert(1/0) ;//Infinity 或者alert(Infinity)
NaN 代表计算错误 并且具有粘性 一步出错,最终结果都为NaN alert("string"/2);//NaN
string 用于字符串。一个字符串可以包含一个或者多个字符,所以没有单独的单字符类型
在 JavaScript 中,有三种包含字符串的方式。
- 双引号:
"Hello". - 单引号:
'Hello'. - 反引号:
`Hello`.
- 双引号:

boolean 用于true 和 false。
null 用于未知的值 只有一个null 值的独立类型
undefined 用于未定义的值-------只有一个undefined 值的独立类型
object 用于复杂的数据结构
symbol 用于唯一的标识符
typeof 运算符可以查看变量的类型
两种形式 typeof x 或者 typeof(x)
返回的类型的字符串,比如“string"
nul 返回”object" --------这是语言中的一个错误,实际上它并不是一个对象。
typeof运算符示例:

6、类型转换
三种常见类型转换:转换为string 类型;转换为 number 类型; 转换 为boolean 类型
ToString:输出内容时转换发生,或通过 String(value) 进行显式转换。原始类型值的 string 类型转换通常是很明显的。
ToNumber:进行算术操作时转换发生,或通过 Number(value) 进行显式转换。
ToNumber 转换遵循一下规则

ToBoolean:进行逻辑操作时转换发生。或通过 Boolean(value) 进行显式转换。
ToBoolean 遵循以下规则

注意事项:
undefined进行ToNumber时变成NaN,而非0。"0"和只有空格的字符串(比如:" ")在进行 boolean 转换时变成true。
javascript 基础知识汇总(一)的更多相关文章
- JavaScript基础知识汇总
1. 图片热区: <img src="logo.jpg" usemap="#logo"> <map id="logo" n ...
- javaScript 基础知识汇总(三)
1.循环:while 和 for while 循环 while(condition){ //代码 循环体 } do ... while 循环 let i =0; do { //循环体 }while( ...
- javaScript 基础知识汇总(六)
1.基本类型与对象的区别 基本类型:是原始类型的中的一种值. 在JavaScript中有6中基本类型:string number boolean symbol null undefined 对 ...
- javaScript 基础知识汇总(五)
1.垃圾回收 JavaScript 的内存管理是自动的,不能强制执行或者阻止执行 可达性 JavaScript中主要的内存管理概念是可达性. 什么是可达性? 定义一个对象 let user = { n ...
- javaScript 基础知识汇总(二)
1.运算符 术语或者叫法:一元运算符.二元运算符.运算元(参数) let x=0; x=5+2; //5和2为运算元,“+” 为二元运算符: x=-x; //"-" 为一元运算符 ...
- javaScript 基础知识汇总 (十三)
1.Class 在JavaScript中 calss即类是一种函数 基本语法 class Myclass{ constructor(){} method1(){} method2(){} method ...
- javaScript 基础知识汇总(七)
1.数组 特点:数组是可以存储有序集合的对象. 声明: let arr = new Array(); let arr=[]; 大多数情况下我们使用第二种. let fruits = [" ...
- javaScript 基础知识汇总 (十)
1.New Function 语法:let func = new Function ([arg1[, arg2[, ...argN]],] functionBody) //无参数示例: let say ...
- javaScript 基础知识汇总 (十一)
1.柯里化和偏函数 偏函数 假如一个函数有两个参数,然后第一个参数我们调用的时候是确定的,那么我门就可以创建一个偏函数来简化参数传递的问题 示例 function mul(a,b){ return a ...
随机推荐
- Dubbo源码学习之-Adaptive自适应扩展
前言 最近三周基本处于9-10-6与9-10-7之间,忙碌的节奏机会丢失了自己.除了之前干施工的那段经历,只看参加软件开发以来,前段时间是最繁忙的了.忙的原因,不是要完成的工作量大,而是各种环境问题, ...
- rabbitMQ_workQueue(二)
生产者发送多个消息到队列,由多个消费者消费. 如果一个消费者需要处理一个耗时的任务,那么队列中其他的任务将被迫等待这个消费者处理完成,所以为了避免这样的情况,可以建立对个消费者进行工作. 本例中使 ...
- $.ajax()在IE9下的兼容性问题
最近在主导一个项目,遇到了一点问题,跟大家分享一下. 最终bug解决方案的链接地址:http://stackoverflow.com/questions/5241088/jquery-call-to- ...
- python交互界面无法使用方向键
问题 python交互界面无法使用方向键,按方向键全变成^[[^C这类型的字符 解决办法 办法1: 使用yum安装readline.readline-devel,然后重装python 这种方法太麻烦了 ...
- 你可能不知道的Docker资源限制
What is 资源限制? 默认情况下,容器是没有资源限制的,它会尽可能地使用宿主机能够分配给它的资源.Docker提供了一种控制分配多少量的内存.CPU或阻塞I/O给一个容器的方式,即通过在dock ...
- 记一次idea问题—performing vcs refresh...
01.前言 本人出现该场景是,我把本地SVN A项目删了,而A项目与B项目同在一个SVN目录下,当我修改B项目且提交代码时,出现了该问题. idea不是很懂操作,就搜索了一下得出了三种答案,但只有其一 ...
- ASP.NET Core Web Api之JWT刷新Token(三)
前言 如题,本节我们进入JWT最后一节内容,JWT本质上就是从身份认证服务器获取访问令牌,继而对于用户后续可访问受保护资源,但是关键问题是:访问令牌的生命周期到底设置成多久呢?见过一些使用JWT的童鞋 ...
- Something wrong with EnCase v8 index search results
My friend told me that she installed EnCase v8.05 on her workstation which OS version is Win 10. She ...
- Linux服务部署Yapi项目(安装Node Mongdb Git Nginx等)
Linux服务部署Yapi 一,介绍与需求 1,我的安装环境:CentOS7+Node10.13.0+MongoDB4.0.10. 2,首先安装wget,用于下载node等其他工具 yum insta ...
- 伪分布式Spark + Hive on Spark搭建
Spark大数据平台有使用一段时间了,但大部分都是用于实验而搭建起来用的,搭建过Spark完全分布式,也搭建过用于测试的伪分布式.现在是写一遍随笔,记录一下曾经搭建过的环境,免得以后自己忘记了.也给和 ...