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. jQuery使用(十一):jQuery实例遍历与索引

    each() children() index() 一.jQuery实例遍历方法each() jQuery实例上的each()方法规定要运行的函数,并且给函数传入两个参数:index,element. ...

  2. AS中的minSdkVersion、compileSdkVersion、targetSdkVersion、buildTools及tools关系和区别

    1.参考文章关于compileSdk.minSdk.targetSdk的文章 http://chinagdg.org/2016/01/picking-your-compilesdkversion-mi ...

  3. 获取reporting services导出pdf的url的方法

    public static string genRptUrl(string strRptServer, string strRptPath, string strRptName, ParameterV ...

  4. Jenkins--发送邮件配置

    使用Jenkins可以进行构建,并可以发送邮件.今天我们来讲一下邮件的配置. 首先:下载安装插件: 进入[Jenkins-系统管理-插件管理-可选插件],搜索“Email Extension”进行安装 ...

  5. salt软件远程控制服务器

    1.salt安装服务器环境 准备2台机器 192.168.11.250 master端(主人) 192.168.11.167 minion端 (奴隶 ) 2.两台机器配置hosts文件,用于加速域名解 ...

  6. workqueue --最清晰的讲解【转】

    转自:https://www.cnblogs.com/zxc2man/p/6604290.html 带你入门: 1.INIT_WORK(struct work_struct *work, void ( ...

  7. Centos6.X搭建Squid为YUM做代理

    1.在能联网的机器上安装 Squid yum install squid 2.配置squid vi /etc/squid/squid.conf 编辑内容如下: http_port cache_mem ...

  8. Linux下安装python的gmpy2库及遇到无法定位软件包的解决办法

    gmpy2需要gmp.h &mpfr.h &mpc.h 安装命令: sudo apt-get install libmpfr-dev libmpc-dev  成功之后再输入安装命令: ...

  9. 【原创】大数据基础之Spark(3)Spark Thrift实现原理及代码实现

    spark 2.1.1 一 启动命令 启动spark thrift命令 $SPARK_HOME/sbin/start-thriftserver.sh 然后会执行 org.apache.spark.de ...

  10. maven历史版本下载地址

    http://archive.apache.org/dist/maven/maven-3/