1 JS 概述

一个完整的javascript实现是由以下3个不同部分组成的:

(1)     核心(ECMAscript)

(2)     文档对象模型(DOM)  Document object model (整合js,css,html)

(3)     浏览器对象模型(BOM) Broswer object model(整合js和浏览器)

(4)     Javascript在开发中绝大多数情况是基于对象的,也是面向对象的

ECMAscript描述了以下内容:

语法

类型

语句

关键字

保留字

运算符

对象(封装 继承 多态)基于对象的语言 使用对象

Javascript的引入方式

(1)     直接编写

(2)     导入文件

小结:JS是一门弱类型语言,相当随便的语言;

Python是一门强类型语言,动态语言

2 JS基础

变量

Javascript中的变量是用来保存值

(1)     变量是弱类型的

(2)     声明变量时不用声明变量类型,全部用关键字var

(3)     一行可以声明多个变量,并且可以是不用类型

(4)     变量名首字符只能是字母,下划线,$美元符 三选一,且区分大小写,x与X是两个变量

(5)     变量还应遵守以下某条著名的命名规则:

1>    Camel 标记法  首字母是小写的,接下来的字母都以大写字符开头。

2>    Pascal 标记法  首字母是大写的,接下来的字母都以大写字符开头。

3>    匈牙利类型标记法在以 Pascal 标记法命名的变量前附加一个小写字母(或小写字母序列),说明该变量的类型。

基础规范

(1)     每行结束最好加分号,没有分号会以换行符作为每行的结束

(2)     注释  多行注释  /*   */

单行注释  //

(3)     使用{}来封装代码块

常量和标识符

常量:直接在程序中出现的数据值

标识符:

(1)     由不以数字开头的字母,数字,下划线,美元符号组成;

(2)     常用于表示函数、变量等的名称;

(3)     JavaScript语言中代表特定含义的词称为保留字,不允许程序再定义为标识符

数据类型

(1)   数字类型  最基本的数据类型

不区分整型数值和浮点型数值

整数:

在javascript中10进制的整数由数字的序列组成

精确表达的范围是
-9007199254740992 (-253) 到 9007199254740992 (253)

超出范围的整数,精确度将受影响

浮点数:

使用小数点记录数据

使用指数记录数据

16进制和8进制数的表达

16进制数据前面加上0x,八进制前面加0

16进制数是由0-9,A-F等16个字符组成

8进制数由0-7等8个数字组成

16进制和8进制与2进制的换算

(2)    字符串

是由unicode字符,数字,标点符号组成的序列

字符串常量首尾由单引号或双引号括起

JavaScript中没有字符类型

常用特殊字符在字符串的表达

字符串部分特殊字符必须加上右划线\

常用的转义字符 \n:换行  \':单引号   \":双引号  \\:右划线

String数据类型的使用

特殊字符的使用方法和效果

Unicode的插入方法

(3)    布尔型

Boolean类型仅有两个值:ture和false,也代表1和0,实际运算中true=1,false=0

布尔值也可以看作on/off、yes/no、1/0对应ture/false

Boolean值主要用于JavaScript的控制语句

Null &Undefined

Undefined类型只有一个值,即undefined。当声明的变量未初始化时,该变量的默认值是undefined。当函数无明确返回值时,返回的也是值 "undefined"。

Null类型

Null只有一个专用值null。undefined 实际上是从值 null 派生来的

尽管这两个值相等,但它们的含义不同。undefined 是声明了变量但未对其初始化时赋予该变量的值,null 则用于表示尚未存在的对象(在讨论 typeof 运算符时,简单地介绍过这一点)。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null

(4)   数据类型转换

JavaScript属于松散类型的程序语言

变量在声明的时候并不需要指定数据类型

变量只有在赋值的时候才会确定数据类型

表达式中包含不同类型数据则在计算过程中会强制进行类别转换

数字+字符串:数字转换为字符串

        var s=12+"hello";
console.log(s);
console.log(typeof s)
>>


  

数字+布尔值:true转换为1,false转换为0

字符串+布尔值:布尔值转换为字符串true或false

        var s1=true+"hello";
console.log(s1);
console.log(typeof s1);
>>


(5)     强制类型转换函数

函数parseInt:   强制转换成整数   例如parseInt("6.12")=6  ; parseInt(“12a")=12 ; parseInt(“a12")=NaN  ;parseInt(“1a2")=1

函数parseFloat: 强制转换成浮点数  parseFloat("6.12")=6.12

console.log(parseInt(3.54))
>>


函数eval:将字符串强制转换为表达式并返回结果 eval("1+1")=2 ; eval("1<2")=true

(6)     类型查询函数

ECMAScript 提供了 typeof 运算符来判断一个值是否在某种类型的范围内。可以用这种运算符判断一个值是否表示一种原始类型:如果它是原始类型,还可以判断它表示哪种原始类型。

函数typeof :查询数值当前类型
 (string / number / boolean / object )

    var n=5;
var s="5";
var b=true; console.log(typeof n);
console.log(typeof s);
console.log(typeof b);
>>


  

JS基础学习1的更多相关文章

  1. JS基础学习——对象

    JS基础学习--对象 什么是对象 对象object是JS的一种基本数据类型,除此之外还包括的基本数据类型有string.number.boolean.null.undefined.与其他数据类型不同的 ...

  2. JS基础学习——闭包

    JS基础学习--闭包 什么是闭包 闭包的定义如下,它的意思是闭包使得函数可以记住和访问它的词法范围,即使函数是在它声明的词法范围外执行.更简单来讲,函数为了自己能够正确执行,它对自己的词法范围产生闭包 ...

  3. JS基础学习——作用域

    JS基础学习--作用域 什么是作用域 变量的作用域就是变量能被访问到的代码范围,比如在下面的这个js代码中,变量a的作用域就是函数foo,因此在全局作用域内的console.log(a)语句不能访问到 ...

  4. JS 基础学习随想

    2012年就已经接触过了js,给我的印象:这是一门谈不上复杂的语言.大概这就是所谓的学的越浅,用的越少,觉得自己会的东西好像得更多吧!开始做基础练习题的时候觉得好像都十分简单.可是后来在做到对象数组的 ...

  5. handlebars.js基础学习笔记

    最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...

  6. JS基础学习篇(一)

    近来一直在学习js和jquery.刚刚进入前端工作还没有多久,虽然大学里学习的是编程自认为也学的还可以,但前端接触的不多,一直认为前端十分简单.其实不然,特别是工作的时候要自己设计一个完整的项目前端, ...

  7. Node.js基础学习四之注册功能

    前言:在Node.js学习(二)和(三)中介绍了如何在Node.js 中获取登录的用户名和密码与数据库进行验证并返回数据给客户端 需求:实现注册功能 为了区分登录和注册是两个不同的请求,在端口后面加上 ...

  8. 两万字Vue.js基础学习笔记

    Vue.js学习笔记 目录 Vue.js学习笔记 ES6语法 1.不一样的变量声明:const和let 2.模板字符串 3.箭头函数(Arrow Functions) 4. 函数的参数默认值 5.Sp ...

  9. JS基础学习(二)

    昨天把网站上的基础知识看完了,下面是剩下的部分 第六节 JS Window浏览器对象模型 JavaScript全局对象,函数,变量均自动成为window对象的成员. 1.Window对象 1.获取浏览 ...

随机推荐

  1. Pandas系列(十)-转换连接详解

    目录 1. 拼接 1.1 append 1.2 concat 2. 关联 2.1 merge 2.2 join 数据准备 # 导入相关库 import numpy as np import panda ...

  2. Mac 终端美化方法

    美化终端,主要是主题,字体,命令行提示3个方面. 主题 使用的主题是Solarized Dark主题. 安装主题: git clone git://github.com/altercation/sol ...

  3. 五道java小题,补更四道java小题

    一:分析以下需求,并用代码实现     1.定义List集合,存入多个字符串     2.删除集合中字符串"def"     3.然后利用迭代器遍历集合元素并输出 import j ...

  4. 第一节:.Net版基于WebSocket的聊天室样例

    一. 说在前面的话 该篇文章为实时通讯系列的第一节,基于WebSocket编写了一个简易版聊天样例,主要作用是为引出后面SignalR系列的用法及其强大方便之处,通过这个样例与后续的SignalR对比 ...

  5. SpringBoot系列: SpringBoot Web项目中使用Shiro 之二

    ==================================Shiro 的加深理解:==================================1. Shiro 和 Spring 系组 ...

  6. [物理学与PDEs]第5章第3节 守恒定律, 应力张量

    5. 3 守恒定律, 应力张量 5. 3. 1 质量守恒定律 $$\bex \cfrac{\p \rho}{\p t}+\Div_y(\rho{\bf v})=0.  \eex$$ 5. 3. 2 应 ...

  7. 第28月第24天 requestSerializer

    1. requestSerializer关于 requestSerializer它就是AFNetworking参数编码的序列化器,它一共有三种编码格式: AFHTTPRequestSerializer ...

  8. Django 反向解析

    #1,定义: #随着功能的增加会出现更多的视图,可能之前配置的正则表达式不够准确,于是就要修改正则表达式,但是正则表达式一旦修改了,之前所有对应的超链接都要修改,真是一件麻烦的事情,而且可能还会漏掉一 ...

  9. JavaScript入门学习笔记(异常处理)

    try:语句测试代码块的错误,当try中的代码块出错时执行catch中的代码块. catch:语句处理错误: throw:语句创建或抛出自定义异常. 三者一起使用可以控制程序流并生成自定义异常信息. ...

  10. 有道云笔记Markdown上传本地图片的方法

    有道云笔记截图&保存   方法有多种,例如:开通有道云笔记VIP会员.先将图片文件上传到有道云笔记后使用图片的分享链接.说到底还是使用的 Markdown 的图片功能 ![图片名称](图片链接 ...