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中方法不存在重载,如果方法重名的话,会以最后一个定义的为准。
相关推荐
主要介绍了JavaScript 学习笔记系列的第一篇文章,跟所有开篇一样,本文我们介绍的都是些基础中的基础知识,虽然都是基础,但建议大家不要略过此
【第1部分】云端系统之基础 【PYC01】云端开发基础 PYC01V01 单元开篇 HD PYC01V01 单元开篇 SHD PYC01V02 云端开发全栈技术简介 HD PYC01V02 云端开发全栈技术简介 SHD PYC01V03 HTML技术理念及发展简介 HD PYC01V...
node原理讲解实例探究|1源码挖掘: Webpack 中用到 Node 的 10 个核心基础能力2案例一: [龟兔赛跑] Node 的语言基础 - JS(ES5[6[78)案例二: [视频时长统计] Node 的模块机制(CommonJS)与包管理|6案例五: ...
你也许读了很多本或者几本或者打算读两本js书籍用来充电,如果你在进阶的路上已经走了一...开篇就交给你怎么开发一个属于自己的js插件,我不习惯称之为js库。(无毅力者切勿下载,浪费资源),源码书籍里面有下载地址。
可能是类似[“雅虎军规”](https://developer.yahoo.com/performance/rules.html?guccounter=1)和[《高性能 JavaScript》](https://book.douban.com/subject/5362856/)这样历久弥香的经典之作,也可能是搜索引擎聚合...
本书共分三篇13章,第一篇作为全书的开篇,简要介绍了Web开发的各种理论基础,包括HTML、CSS以及JavaScript等。还将通过翔实的理论介绍面向对象的程序设计思路与Web开发之间的关系。第二篇作为本书内容的核心,介绍...
全书以一个能让读者迅速上手的简单示例开篇,进而读者们将了解到Dojo的核心,也就是Dojo所有功能的基础。通过本书,读者将学会如何在开发中将自己的项目模块化,还将学到该JavaScript库在核心功能方面的一些增强。...
overwrite 进展blog 从指向看JavaScript vue移动端开发踩过的一些坑 造一个属于自己的 UI 库 揭秘组件库一二事 初探 Nuxt.js 秘密花园 TypeScript + 大型项目实战 细谈 vue 核心 - vdom 篇 细谈 vue - slot 篇 细谈 ...
全书由一个可以引领读者快速入门的“HelloWorld”示例开篇,紧接着对ExtJS的事件、核心组件、表格和表单等各种控件、树形结构、拖放、弹出窗口、布局、数据存储和传输、实用工具和扩展等进行了详细讲解,最后一个...
准备写一个NodeJS方面的系列文章,由浅入深,循序渐进,秉承的理念是重思想,多实践,勤能补拙,贵在坚持。本文首先来点基础知识的开篇吧。
尽管通过匿名函数自执行(返回方法)或者面向对象等方式,使其看似模块化,但如何保证方法与调用之间的依赖关系是一个值得思考的问题,在这个基础上require.js诞生了 #####目的 通过此次对require.js的分享,能让...
技术基础 New Folder 多样式星期名字转换 [Design, C#] .NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则...
1. Java Getting Started (Java课程简介及开篇) 2. Identifier,keyword and types (标示符, 关键字和数据类型) 3. Expression and Flow Control (表达式和流控制) 4. Array (数组) 5. Object-Oriented ...
本篇随笔基于一个豆瓣电影接口的小程序开源项目进行重新调整,把其中遇到的相关难点和改进的地方进行讨论介绍,希望给大家提供一个参考的思路,本篇随笔是基于前人小程序的项目基础上进行的改进,因此在开篇之前首先...
一,开篇分析 在上个章节中我们学习了NodeJS的基础理论知识,对于这些理论知识来说理解是至关重要的,在后续的章节中,我们会对照着官方文档逐步学习里面的各部分模块,好了该是本文主角登台亮相的时候了,Global ...
一,开篇分析 从今天开始,我们来深入具体的模块学习,这篇文章是这个系列文章的第三篇,前两篇主要是以理论为主,相信大家在前两篇的学习中, 对NodeJS也有一个基本的认识,没事!!!趁热打铁,让我们继续将NodeJS...