JavaScript是解释型语言,无需编译就可以随时运行,这样哪怕语法有错误,没有语法错误的部分还是能正确运行。

1.JavaScript能做什么?

01, javaScript可以进行表单验证

如果在服务器端进行验证:1,会加重服务器负担2,远程传输带来不必要的网络流量。一般使用javaScript进行客户端验证。

02.使用javascript可以实现交互特效

2.javaScript中数据类型

Boolean(布尔)、Number(数字)、String(字符串)、Undefined(未定义)、Null(空对象)、Object(对象类型)

Undefined类型、Null类型都是只有一个值的数据类型,分别是undefined与null

查看变量的数据类型,使用typeof关键字

例如:typeof(10);//结果为Number,其他变量的类型您可以自己测试。

3.基本类型与引用类型区别(这个我们将在后续课程中讲解)

String也是基本类型,不能为String添加动态属性,而引用类型是可以的。

4.js中null与undefined区别

Undefined表示一个未知状态:

在三种情况下,输出结果为Undefined:

01,      方法没有返回值

02,      变量声明不赋初值也是undefined

03,      另外一种情况就是变量未声明就使用也是undefined

Null表示尚未存在的对象

null是一个有特殊意义的值。可以为变量赋值为null,此时变量的值为“已知状态,不是(undefined)”

Null用来初始化变量,清除变量内容,释放内存。

注意:

Undefined==null;结果为true,但含义不同,因为undefined和null以及0在js中代表的值都是false,所以判定两者相等。

Undefined===null;结果为false,对于“===”先判断类型是否一致,然后判断值是否相等。

如果想在IE中开启脚本调试,可以打开工具→Internet选项→高级,然后将“禁用脚本调试”前的勾去掉确定即可。如下图:

这里顺便提一句:浏览器也有垃圾回收机制。

在js中判断一个变量是否可用的方法:

01,      if(typeof(x)!=’undefined’&&x!=null)

02,      if(x)

说明:当x声明但是没有赋值,或x为null,或x为0是,都表示不可用,

If(x)返回false;

在确定x已经声明的情况下,推荐使用后一种方法,单如果x有可能没有声明,则只能用typeof判断(否则会报错)

5.变量的作用域

在js中声明变量的时候可以加var,也可以不加。

在声明变量的时候如果加var,则在声明范围内有效

如果不加var,则认为是一个“全局变量”,在整个页面内有效。

6.类型转换

ParseInt()遇到第一个不是数字的字符,就省略之后的内容,将为数字的部分进行转换。

例如:var  x1=’34号人’;

Var x2=’1.23’;

Var x3=parseInt(x1)+parseInt(x2);

Alert(x3);//结果为35

判断一个值是否为NaN不能用==或===,必须用函数isNaN(val)

parseFloat(arg)//将指定的字符串,转换成浮点数

Number(arg):把给定的值(任意类型)转换成数字(可以是整数或浮点数);转换的是整个值,而不是 部分值。如果该字符串不能完全转换为整型,则返回NaN。

isNaN(arg)//判断arg是否为一个非数字(NaN),NaN与NaN也不相等。

String(arg)把给定的值(任意类型)转换成字符串。

Boolean(arg):把给定的值(任意类型)转换成Boolean型。

Eval(codeString):将一段字符串的js代码,计算并执行。类似于动态SQL语句。

7.JS调试

使用VS和IE调试JS代码的方法

l  JavaScript的调试,使用VS可以很方便的进行JavaScript的调试,调试时需要注意几点:

  • 确保当前的默认浏览器为IE浏览器。
  • 如果使用的是IE6,确保IE6的调试选项要打开,Internet选项→高级,去掉“禁用脚本调试”前的勾选。
  • 设置断点、监视变量等操作和C#一样。
  • 以调试方式运行网页。F5
  • IE8以后可以使用“开发人员工具”à“脚本调试”,可设断点。
  • FireBug(FireFox浏览器的“开发人员工具”,报错比较准确。)、Chrome浏览器也有“开发人员工具”。(大多数浏览器的最新版本都有“开发人员工具”)
  • 在高版本浏览器下也可以使用console.log(‘内容’);来输出内容。

8.函数声明

JavaScript中声明函数的方式:(无需声明返回值类型)

例如:

Function add(i1,i2){

Return  i1+i2;   //如果不写return返回的是undefined

}

注意:在js中,自定义函数名不要和js内置、dom内置方法重名,比如selectAll、focus等函数名不要用。

9.arguments对象

首先我们先看下如下案例:

Function  f1(){

Alert(‘first  f1’);

}

Function  f1(){

Alert(name);

}

F1();

结果输出undefined.

解释:js中方法不存在重载,如果方法重名的话,会以最后一个定义的为准。

JS基础之开篇的更多相关文章

  1. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

  2. [.net 面向对象编程基础] (1) 开篇

    [.net 面向对象编程基础] (1)开篇 使用.net进行面向对象编程也有好长一段时间了,整天都忙于赶项目,完成项目任务之中.最近偶有闲暇,看了项目组中的同学写的代码,感慨颇深.感觉除了定义个类,就 ...

  3. js 基础

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

  4. js基础练习二之简易日历

    今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...

  5. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  6. JS基础(超级简单)

    1     JS基础(超级简单) 1.1 数据类型 1.1.1   基本类型: 1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2)       ...

  7. Node.js基础与实战

    Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...

  8. js基础到精通全面教程--JS教程

    适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”J ...

  9. JS基础知识总结

      js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划() ...

随机推荐

  1. 前端开发之旅-zopim在线即时聊天客服

    一.与潜在客户实时聊天的神奇-zopim Zopim是一款高效的可嵌入网页中去的即使通讯与网站访客信息追踪的的Web软件.知道谁在访问您的网站吗?想和他们实时交流吗?想更有效的把握商机吗?使用Zopi ...

  2. 关于类似vue-cli 脚手架

    #!/usr/bin/env node const download = require('download-git-repo') const program = require('commander ...

  3. 移动web——bootstrap如何修改原组件

    基本介绍 1.bootstrap提供了丰富的组件,但是有时候我们不仅要删除不必要的标签,还需要修改里面的样式 2.我们建议若是修改样式那么最好将源样式从css中拷贝出来,名字换掉,然后修改具体样式,这 ...

  4. easyui 使用笔记

    http://www.easyui.info/archives/1435.html datagrid 服务端分页 服务端分页,高效,快捷!强力推荐! easyui的datagrid服务端分页,通过设置 ...

  5. 错误处理:vmware下克隆centos7配置静态ip地址网卡问题

    vmware下克隆centos7,在配置静态ip地址,重启网卡存在问题,还是mac地址问题 ip addr show 查看下mac地址,配置文件修改下,重启网卡正常了

  6. sratookit

    sratookit 下载后解压 tar -zxvf sratoolkit.2.8.2-1-ubuntu64.tar.gz 移动到专门安装生物信息软件的目录下 mv sratoolkit.2.8.2-1 ...

  7. element ui 日期控件范围时间限制记录、以及计算两个日期之间的天数

    日期的筛选经常会有最小的日期选择,例如:当前日期 :clearable="false" :picker-options="pickerOptions0" val ...

  8. final关键字用法

    Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量. final类不能被继承,没有子类,final类中的方法默认是final的. final方法 ...

  9. NOIp知识点复习——最短路计数

    $Mingqi\_H$ NOIp 2017考挂了...gg 重新开始好了. 计划明年2月24号前复习完所有的NOIp知识点(毕竟很不熟练啊),之后到七月底前学习完省选的东西(flag?). 从现在开始 ...

  10. (C/C++学习)9.C/C++优化排序

    说明:在C/C++中常见的排序方法有两种,第一种为选择排序法,第二种为冒泡排序法,本文将对这两种排序法进行优化,并给出一种更为快捷的排序法. 一.未优化的排序法 现在假如要对一个数组进行排序,假设这个 ...