1.JavaScript 简介:

JavaScript是互联网上最流行的脚本语言,所有现代的HTML都使用JavaScript。既然是脚本语言,那么它的特点就有一下三种:

(1)弱类型;

(2)解释型语言(不需要编译);

(3)逐行执行,一行代码错误,其后的代码块都不会继续执行;

(4)<script>标签可直接嵌入到HTML文件中,位置是任意的,通常放在被修饰内容下面或者head标签中,但写成单独的js文件有利于结构和行为的分离

2.JavaScript 内容(附图):

其中ECMAScript是JavaScript的核心;

DOM是文档对象模型(使用js操作网页);

BOM是浏览器对象模型(使用js操作浏览器)

3.JavaScript 信息的输出:

(1)alert( )方法:以提示框的形式在页面输出

(2)console.log( )方法:在控制台输出信息,例:

console.log("hello,javascript")   

(3)document.write( ):将内容直接写在HTML页面中,例:

document.write("hello,javascript") 

4.JavaScript 变量:

与 Java不同,ECMAScript 中的变量无特定的类型,定义变量时只用 var 运算符,可以将它初始化为任意值,变量的初始化格式:var 变量名 = 变量值;例:

var a = "hello";
var b = 123;

如果要定义多个变量,那么可以用将多个变量写在一行,用逗号进行分隔;例:

var a = "你好",
b = 123,
c = "hello";

变量名字的变量规则:

(1)由字母、数字、下划线、$符号构成

(2)不可以以数字开头,不建议以下划线开头;

(3) 严格区分大小写;

(4)不可以是关键字和保留字

5.JavaScript 数据类型:

JavaScript可以分为原始数据类型,引用数据类型两种:

(1)原始数据类型:Number,String,Boolean,undefined,null

Number:数值型,就是数字,包含正数、负数、整数、小数、0、NaN、Infinity(正无穷)、-Infinity(负无穷);

注意:NaN:not  a  number的缩写,表示该值不是一个数值(也属于Number)

String:字符串:用双引号""或单引号''包起来的0个或多个字符,如果引号中什么也没有,那么这个字符串被称为空字符串

Boolean:布尔型:包含true:表示真(成立)和false:表示假(不成立)两个值

undefined:表示变量未定义,或变量被定义出来,但是没有被赋值

null:表示一个变量没有指向任何一片存储空间,即变量存在,但是里面是空的,类似于Undefined

(小提示:在Chrome浏览器控制台输出时,会发现Number类型为深蓝色,String为黑色,Boolean为浅蓝色,undefined和null都为浅灰色)

(2)引用数据类型:

Object(对象),Array(数组),Date(日期),RegExp(正则)。。等等

(3)如何查看一个变量的数据类型(typeof 运算符):

数值型数据:返回值为number

console.log(typeof 123)   //输出number 

字符串型数据:返回值为string

console.log(typeof "你好")  //输出string   

布尔型数据:返回值为boolean

console.log(typeof true/false)    //输出boolean 

Undefined:返回值为undefined

console.log(typeof undefined)   //输出undefined

Null:返回值为Object(历史遗留问题,说明null也是一个对象)

console.log(typeof null)     //输出object  

NaN:返回值为number

console.log(typeof NaN)    //输出number 

6.JavaScript 数据类型的转换:

(1)在使用加法(+)运算符时,任何数据与字符串类型数据相加都为字符串类型数据;

console.log("你好" + 123)    //输出"你好123"  

注(简单理解): 在JavaScript 中空字符串""转换为false,非空字符串转换为true(除“0”,“1”外);

false转换为 0 或“0”,true转换为 1 或“1”;

做逻辑判断的时候,null,undefined,""(空字符串),0,NaN都默认为false;

==在比较的时候可以转换数据类型,===是严格比较,只要类型不匹配就返回false;

其实 == 的比较确实是转换成字符串来比较但,但是在布尔型转换为字符串之前,要先转换成 Number

console.log("123" == true)    //输出false
console.log("1" == true) //输出true
console.log("" == true) //输出false
console.log(1 == true) //输出true console.log("" == false) //输出true
console.log('123' == false) //输出fasle
console.log('0' == false) //输出true
console.log(0 == false) //输出true console.log('1' == 1) //输出true
console.log('0' == 0) //输出true
console.log(-true) //输出-1

(2)parseInt:将字符串转换成整数(只识别字符串中的数值):

注:会忽略字符串中的前后空格(当数值后的空格后面还有数值时,将不会再识别);

能够正确识别正负号,即保留正负号;

在转换时,遇到非数值型的字符就会停止转换;

如果字符串的第一个字符是非数值型的,那么转换的结果为NaN;

console.log(parseInt("123"))    //输出123
console.log(parseInt(" 1 2")) //只会输出1
console.log(parseInt(-123)) //输出-123
console.log(parseInt("hello")) //输出NaN
console.log(parseInt(true)) //输出NaN
console.log(parseInt("123hello")) //输出123,后面非数值型不会识别
console.log(parseInt(" 1 ")) //输出1,忽略空格

(3)parseFloat:将字符串转换成小数(识别小数点,注意事项同上)

console.log(parseFloat("123.55"))    //输出123.55
console.log(parseFloat(".1hello")) //输出0.1

(4)Number:将其它类型的数据转换成数值型,注意被转换的数据必须是纯数值构成,否则无法转换,其它注意事项同上

console.log(Number(true))   //1
console.log(Number(false)) //0
console.log(Number(null)) //0
console.log(Number("123hello")) //NaN
console.log(Number("12.22")) //12.22
console.log(Number(undefined)) //NaN

(5)页面中的信息框:

alert(),弹出个提示框,只有确定;

window.alert("今天天气很好")  

confirm(),弹出个确认框,有确定和取消;

window.confirm("今天心情也很好")  

prompt(),弹出个输入框,可以输入内容;

window.prompt("password","请输入密码") 
 

JavaScript的基础暂时先写到这里,后续都会补上。。。

JavaScript自己整理的基础-01的更多相关文章

  1. javascript基础01

    javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...

  2. JavaScript 精髓整理篇之一(对象篇)postby:http://zhutty.cnblogs.com

    废话篇头: 由于工作关系,所以写博文的时间有那么点~~,其实是输入法太懒了,都是输入法的错~~ 这一系列的博客将总结所有关于JavaScript语言的精髓,适合0基础到大师级别人物阅读. <Ja ...

  3. javascript 事件相关使用总结01

    javascript 事件相关使用总结01 这里总结一下js事件相关的经验. addEventLinstener()介绍 注册事件最基础的函数是这个 target.addEventListener(t ...

  4. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

    [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...

  5. Javascript面向对象编程一:基础篇

    该随笔分为以下四部分: Javascript面向对象编程一:基础篇 Javascript面向对象编程二:封装 Javascript面向对象编程三:继承 Javascript面向对象编程四:控件 先弄个 ...

  6. Androd核心基础01

    Androd核心基础01包含的主要内容如下 Android版本简介 Android体系结构 JVM和DVM的区别 常见adb命令操作 Android工程目录结构 点击事件的四种形式 电话拨号器Demo ...

  7. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  8. Linux基础01 学会使用命令帮助

    Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题, ...

  9. javascript收集整理

    //特殊字符去掉 function check(obj){ var test=obj.value.match(/[^A-Za-z0-9]/g);//这条语句表示在输入文本中是否包含不符合要求的字符,如 ...

随机推荐

  1. vs2017取消起始页(设定起始页)/(.ashx文件的添加)

    1.设定起始页:在要设定起始页的视图(如Index视图)上直接右击,然后点击“设为起始页” 2.取消起始页:点击菜单栏“调试”,然后点击最后一行“项目名+属性”,打开后选中左侧栏中的“web”,选中“ ...

  2. Csharp: FreeTextbox 编辑器控件运行时错误: 'FTB_ResizeGalleryArea' 未定义

    ftb.imagegallery.aspx 改一下代码: <form id="Form1" runat="server" enctype="mu ...

  3. hook_myhook.api.php文件什么用

    看源文件的时候发现有个user.api.php文件,里面定义了一个新的钩子,$hook_user_categories,但是,drupal核心里面没有,我推测是自定义 的钩子函数,然后在*.modul ...

  4. 通用的popupwindow底部弹出框

    前段时间做项目的时候,有几个底部弹出框,当时因为忙着赶进度所有就单独写了好几个popupwindow.后来就想着怎么实现一个通用的PopupWindow工具类 就是在要用到的时候创建该工具类的对象,并 ...

  5. android launcher

    1.android_launcher的源码详细分析 2.android---launcher 3.Android 4.4 Launcher3桌面源码分析 4.通过深度剖析Android之Launche ...

  6. jdbc、Connection pool、jndi的理解和关系

    一.概念和理解: ①.jdbc:Java Data Base Connectivity,java数据库连接,最为传统的一种方式,直接连接操作数据库,需要连接时创建连接,使用结束时销毁连接. ②.Con ...

  7. VueJs - 世界地图(根据返回国家value值的大小来展示颜色的深浅分布)

    一.实现功能 1.画出世界各国的世界地图 2.根据返回name->国家全称.value->数量,渲染对比世界各国成功的国家,予以值域范围的高亮 3.滑入国家地图,出现tooltip框,提示 ...

  8. 离线安装wxpython

    离线安装wxpython 前言 由于工作环境,我的工作机是在离线环境下的,没法连接外网.但是自己又想学习一下wxpython,只好自己手动离线安装,本来以为很简单的,但是实际上...一言难尽. 基本环 ...

  9. Linux--LAMP平台搭建

    LAMP平台搭建 准备工作 rpm -e php php-cli php-ldap php-commn php-mysql --nodeps 删除php相关依赖软件 rpm -ivh zlib-dev ...

  10. Oracle10g使用$ORACLE_HOME/rdbms/admin/awrrpt.sql报错

    Enter value for report_name: Using the report name awrrpt_1_591_593.htmlselect output from table(dbm ...