一、什么是JavaScrip

JavaScript是一种动态类型、弱类型、基于原型的客户端脚本语言。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,在HTML网页上使用,用来给HTML网页增加动态功能。

动态:
在运行时确定数据类型,通常变量的类型取决于值的类型
弱类:
计算时可在不同类型之间,通过隐式转换得到正确的类型
原型:
新对象继承对象(模版),将自身的属性和方法共享给新对
象,模版对象称为原型

二、JavaScript由三部分组成
ECMAScript(核心)
作为核心,它规定了语言的组成部分:语法、类型、语句、关键字、保留字、操作符、对象

DOM(文档对象模型)
dom把整个页面映射为一个多层节点树,开发人员可借助dom提供的api,轻松地删除、添加、替换或修改任何节点

BOM(浏览器对象模型)
支持可以访问和操作浏览器窗口的浏览器对象模型,开发人员可以控制浏览器显示的页面以外的部分

三、JavaScript引入方式

1、在html文件中直接进行代码的书写

 <body>
<script>
alert('hello world_body内引入')
</script>
</body>

2、外部引入
    把<script>元素放在页面的<head>元素中

 <head>
<meta charset="UTF-8">
<title>引入方式</title>
<script src="my.js"></script>
</head>

把<script>元素放在<body>中,放在页面的内容后面

3、直接写在标签内

<h2 onclick="test()">点点我</h2>
<h2 onclick="alert('别摸我2')">点我试试看</h2>

<script>
   function test(){
   alert('别摸我1');}
</script>

四、JavaScript语法

1、区分大小写:
JS中的一切(变量、函数名、操作符)都区分大小写
2、标识符:指变量、函数、属性的名字,或者函数的参数
   标识符命名规范:
   第一个字符必须是字母、下划线(_)或美元符号($);
   其他字符可以是字母、下划线、美元符号或数字
   不能含有空格
   不能以关键字或保留字命名
3、关键字
可用于表示控制语句的开始或结束,或用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符

4、保留字(有可能在将来被用作关键字来使用)不能用作标识符

5、变量

JS的变量是松散类型的,可以用来保存任何类型的数据。
在JS中,只有一种声明变量的操作符var,它可以声明各种类型的数据

六、变量数据类型

1、typeof 运算符

语法:typeof(x)   或  typeof  x

使用typeof操作符可能返回下列某个字符串:

undefined---值为定义

boolean---值是布尔值

string---值是字符串

number---值是数值

object---值是对象或null

function---值是函数

函数在js中是对象,不是一种数据类型,但函数有一些特殊属性,通过typeof操作符来区分函数和其他对象

2、 undefined类型

undefined类型只有一个特殊值为undefined

声明变量未初始化(赋值)时,这个变量的值就是undefined

示例1:

var  a;

alert(a); //undefined          alert(b); //报错

这个结果有其逻辑上的合理性,无论对哪个变量都不能执行真正的操作

3、null类型

null类型只有一个特殊值为null

从逻辑角度来看,null表示空对象指针,所以typeof检测时返回object。如果变量准备在将来用于保存对象,那么该变量最好初始化为null。

alert(null == undefined);

实际上,undefined派生自null值的,ECMAScript规定它们的相等性要返回true,但两者的用途完全不同。

4、boolean类型

boolean类型有两个字面值:true 和 false

在js中所有类型值都有与这两个布尔值等价的值

1.特殊值undefined和null -- false

2.数字0和NaN -- false

3.空字符串 -- false

4.所有其他值 -- true

5、 number类型

number类型表示整型和浮点型,基本的数值字面量格式都是十进制。

此外,整数的字面量还可以是八进制和十六进制。

var num1=15; //整数

var num2=1.5; //浮点数

var num3=15.0; //解析为整数15

var num4=070; //八进制56

var num5=0x1f; //十六进制3

NaN即非数值,是number类型中的一个特殊值

NaN用于表示本来要返回一个数值的操作数,结果未返回数值的情况(这样不会报错)。

NaN有两个特点:

1.任何涉及NAN的操作都会返回NaN

2.NaN与任何值都不相等,包括它本身

示例:var a=0/0; var b=parseInt('x123');

6、string类型

string类型用于表示由零个或多个16位unicode字符组成的字符序列,即字符串,由双引号或单引号表示。

示例:

var str1=‘123’;

var str3=‘你好’;

var str4=‘ ’;//空字符串

7、object类型

JavaScript中对象其实就是一组数据和功能的集合。

示例:

var obj1=[1,2,3];//数组

var obj2={name:'laowang'};//对象

 <script>
var a=3;//数值型number
var b=null;//object(空对象)
var c='hello';//string
var d=true;//boolean
var e;//undefined(只声明未初始化)
var f='';//string
var g=function(){};//function(函数)
console.log(typeof a);
console.log(typeof b);
console.log(typeof c);
console.log(typeof d);
console.log(typeof e);
console.log(typeof f);
console.log(typeof g);
</script>

七、操作符

1、逻辑操作符

  逻辑非(!)

  逻辑与(&&)

  逻辑或(||)

2、算数操作符

  + - * / %(求余) ++ --

3、关系操作符

  

等于(==)的情况下 只要值相同就返回 true
全等(===)的时候需要值和类型都要匹配才能返回 true

关系操作符返回的是布尔值(true 或 false)

4、条件操作符

  

5、赋值操作符

6、操作符优先级

逻辑非——算术操作符——关系操作符——逻辑与 逻辑或——条件操作符——赋值操作符

JavaScript学习笔记1之基础知识点的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  3. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  4. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  5. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  6. Java程序猿JavaScript学习笔记(14——扩大jQuery UI)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  7. Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  8. Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  9. Java程序猿的JavaScript学习笔记(6——面向对象模拟)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

随机推荐

  1. linux下 lvm 磁盘扩容

    打算给系统装一个oracle,发现磁盘空间不足.在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区.为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这 ...

  2. mono for android Listview 里面按钮 view Button click 注册方法 并且传值给其他Activity 主要是context

    需求:为Listview的Item里面的按钮Button添加一个事件,单击按钮时通过事件传值并跳转到新的页面. 环境:mono 效果: 布局代码 主布局 <?xml version=" ...

  3. Thread.Sleep(0) vs Sleep(1) vs Yeild

    本文将要提到的线程及其相关内容,均是指 Windows 操作系统中的线程,不涉及其它操作系统. 文章索引 核心概念 Thread.Yeild       Thread.Sleep(0) Thread. ...

  4. 工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧

    之前一篇<工欲善其事,必先利其器.VS2013全攻略(安装,技巧,快捷键,插件)!> 看到很多朋友回复和支持,非常感谢,尤其是一些拍砖的喷油,感谢你们的批评,受益良多. 我第一份工作便是W ...

  5. Entity Framework 与 面向对象

    说要分享,我了个*,写了一半放草稿箱了两个星期都快发霉了,趁着周末写完发出来吧. 文章分为五部分: 基础.类讲述的是用到的一些EF与面向对象的基础: 业务是讲怎么划分设计业务: 设计模式和工作模式讲述 ...

  6. 苹果台式一体机笔记本安装win双系统攻略教程

    步骤 序:win系统下载 :http://www.itellyou.cn 选择要安装的系统进行下载,本文以win7为例   进入苹果系统,左上角——前往——实用工具——BootCamp 助理 点击继续 ...

  7. Android Material Design之 NavigationView侧滑界面自定义 随笔

    一.侧滑界面Menu自定义: 在menu文件夹下新建activity_main_drawer.xml文件,自定义标题和icon: <?xml version="1.0" en ...

  8. xcode8.1 插件失效的问题

    1,查看 Xcode 插件安装目录 ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins 鼠标点一下桌面, command+shi ...

  9. sublime text添加snippet

    下面的${1:this}格式的会在tab键下一次切换选中 <snippet> <content><![CDATA[Hello, ${1:this} is a ${2:sn ...

  10. Hawk 1.2 快速入门2 (大众点评18万美食数据)

    本文将讲解通过本软件,获取大众点评的所有美食数据,可选择任一城市,也可以很方便地修改成获取其他生活门类信息的爬虫. 本文将省略原理,一步步地介绍如何在20分钟内完成爬虫的设计,基本不需要编程,还能自动 ...