一、Javascript能做些什么?

  • 表单数据合法性验证
  • 网页特效:使用DOM和CSS可以实现网页特效
  • 交互式菜单:创作具有动态效果的交互式菜单,完全能够与flash制作的导航菜单相媲美
  • 动态页面:使用JavaScript可以对WEB页面的全部元素进行访问或者修改其属性,实现动态的效果,如网页版的扑克游戏等。
  • 数值计算:丰富的数据操作方式,让JavaScript也具有了可以开发网页版计算器的功能。
  • 游戏开发:随着Unity3d、cocos2d-js、Html5的兴起,用JS写游戏的人越来越多了(当然JavaScript简单也是其重要因素)

二、什么是JavaScript?

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

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

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

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

三、怎么讲Javascript应用到网页中?

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

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

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

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

c、直接写在标签内

<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'};//对象

 1 <script>
 2     var a=3;//数值型number
 3     var b=null;//object(空对象)
 4     var c='hello';//string
 5     var d=true;//boolean
 6     var e;//undefined(只声明未初始化)
 7     var f='';//string
 8     var g=function(){};//function(函数)
 9     console.log(typeof a);
10     console.log(typeof b);
11         console.log(typeof c);
12         console.log(typeof d);
13         console.log(typeof e);
14         console.log(typeof f);
15         console.log(typeof g);
16 </script>

六、操作符

1、逻辑操作符

  逻辑非(!)

  逻辑与(&&)

  逻辑或(||)

2、算数操作符

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

3、关系操作符

  

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

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

4、条件操作符

  

5、赋值操作符

6、操作符优先级

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

最新文章

  1. apache 自带的ab测试
  2. YARN的内存和CPU配置
  3. Leetcode 8 String to Integer (atoi) 字符串处理
  4. jenkins系列1--自动打tag
  5. 【英语】Bingo口语笔记(70) - 最易忽略的2个连读技巧
  6. 让项目管理理论&ldquo;落地&rdquo;&mdash;&mdash;读《IT项目经理成长手记》有感
  7. 【jQuery】总结:筛选器、控制隐藏、操作元素style属性
  8. 给jdk写注释系列之jdk1.6容器(10)-Stack&amp;Vector源码解析
  9. 玩转无线 — GNURADIO 简单运用
  10. PHP 的解压缩ZipArchive中的extractTo()方法 LINUX+nginx环境中解压zip时文件丢失的问题
  11. MySQL服务找不到了,navicat打不开数据库连接
  12. CS:APP3e 深入理解计算机系统_3e MallocLab实验
  13. Linux下安装Python3.x和第三方库
  14. pycharm 01
  15. Itreatot接口实现类中modCount的作用
  16. C语言编程知识点
  17. 【前端】js截取or分割字符串的常见方法
  18. Objections vs. excuses
  19. JAVA System.arraycopy 和Arrays.copyof 效率比较
  20. 【BZOJ3622】已经没有什么好害怕的了(动态规划,容斥)

热门文章

  1. Android Drawable 那些不为人知的高效用法
  2. JAVA基础-输入输出:1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。
  3. ReceiveQueue
  4. JavaScript变量声明提前
  5. Jenkins+SVN+tomcat持续集成发布
  6. PHP精选数组函数
  7. 如何高效地向Redis插入大量的数据
  8. Oracle普通表-&gt;分区表转换(9亿数据量)
  9. Oracle 11g安装GI后,运行roothas.pl脚本报错libcap.so.1找不到
  10. dsoframer 使用笔记