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. 第九节: 利用RemoteScheduler实现Sheduler的远程控制

    一. RemoteScheduler远程控制 1. 背景: 在A服务器上部署了一个Scheduler,我们想在B服务器上控制这个Scheduler. 2. 猜想: A服务器上的Scheduler需要有 ...

  2. JAVA第一周学习

    新学期伊始,六门专业课,课课重要,无法抉择重心,但日子还是要过的,而且要精细的过,不能得过且过 JAVA第一周任务 一:学习第一章视频 二:使用JDB调试JAVA 三:输入调试教材上代码,并把代码上传 ...

  3. SpringBoot系列: JdbcTemplate 事务控制

    ============================Spring JdbcTemplate 事务控制============================之前使用 JDBC API 操作, 经常 ...

  4. python 实现简单卷积网络框架

    第一步定义卷积核类: class Filter(object): # 滤波器类 对卷积核进行初始化 def __init__(self,width,height,depth): # initializ ...

  5. AB PLC与西门子S7-1200以太网通信

    前言:在项目实际应用中,经常会遇到两个不同厂家的PLC需要互联进行通信交换数据,由于各自的通信协议有所不同,实现起来的难度较大,通常的做法是借助第三方的网关.本文介绍的是AB PLC与西门子S7-12 ...

  6. 常用window命令

    1.  关闭端口占用程序 先查看端口(8080)占用程序 netstat -ano | findstr 显示结果如下 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1066 ...

  7. dubbo负载均衡与集群集群容错

    1.负载均衡 在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 random 随机调用. 1.  负载均衡策略 Random LoadBalance 随机,按权重设置随机概率.(默认值)在一个 ...

  8. Windows7下PHP5.6.19+Apache2.4.18+MySql5.7环境配置

    此安装参考了网上各方资料,最终整理的内容为本次安装涉及的部分. 一.准备安装材料: 1.从http://windows.php.net/download/ 下载5.6.19 线程安全版(使用apach ...

  9. Exif格式分析

    转载链接: http://blog.csdn.net/simonhehe/article/details/8593354 http://blog.csdn.net/lsiyun/article/det ...

  10. 【原创】大叔问题定位分享(17)spark查orc格式数据偶尔报错NullPointerException

    spark查orc格式的数据有时会报这个错 Caused by: java.lang.NullPointerException at org.apache.hadoop.hive.ql.io.orc. ...