`
snake_hand
  • 浏览: 576711 次
社区版块
存档分类
最新评论

JS基础之开篇

 
阅读更多

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 学习笔记之基础中的基础

    主要介绍了JavaScript 学习笔记系列的第一篇文章,跟所有开篇一样,本文我们介绍的都是些基础中的基础知识,虽然都是基础,但建议大家不要略过此

    Python云端系统开发入门(课件)

    【第1部分】云端系统之基础 【PYC01】云端开发基础 PYC01V01 单元开篇 HD PYC01V01 单元开篇 SHD PYC01V02 云端开发全栈技术简介 HD PYC01V02 云端开发全栈技术简介 SHD PYC01V03 HTML技术理念及发展简介 HD PYC01V...

    0开篇介绍:Node 10 年大跃进与当下在互联网研发中的地位.md

    node原理讲解实例探究|1源码挖掘: Webpack 中用到 Node 的 10 个核心基础能力2案例一: [龟兔赛跑] Node 的语言基础 - JS(ES5[6[78)案例二: [视频时长统计] Node 的模块机制(CommonJS)与包管理|6案例五: ...

    JavaScript DOM高级程序设计

    你也许读了很多本或者几本或者打算读两本js书籍用来充电,如果你在进阶的路上已经走了一...开篇就交给你怎么开发一个属于自己的js插件,我不习惯称之为js库。(无毅力者切勿下载,浪费资源),源码书籍里面有下载地址。

    开篇:知识体系与小册格局(1).md

    可能是类似[“雅虎军规”](https://developer.yahoo.com/performance/rules.html?guccounter=1)和[《高性能 JavaScript》](https://book.douban.com/subject/5362856/)这样历久弥香的经典之作,也可能是搜索引擎聚合...

    高效Web前端开发之路

    本书共分三篇13章,第一篇作为全书的开篇,简要介绍了Web开发的各种理论基础,包括HTML、CSS以及JavaScript等。还将通过翔实的理论介绍面向对象的程序设计思路与Web开发之间的关系。第二篇作为本书内容的核心,介绍...

    精通Dojo by Dojo之父

    全书以一个能让读者迅速上手的简单示例开篇,进而读者们将了解到Dojo的核心,也就是Dojo所有功能的基础。通过本书,读者将学会如何在开发中将自己的项目模块化,还将学到该JavaScript库在核心功能方面的一些增强。...

    overwrite::thumbs_up:覆盖一些javascript方法并在此处显示博客

    overwrite 进展blog 从指向看JavaScript vue移动端开发踩过的一些坑 造一个属于自己的 UI 库 揭秘组件库一二事 初探 Nuxt.js 秘密花园 TypeScript + 大型项目实战 细谈 vue 核心 - vdom 篇 细谈 vue - slot 篇 细谈 ...

    深入浅出Ext JS(第2版).part1.rar

    全书由一个可以引领读者快速入门的“HelloWorld”示例开篇,紧接着对ExtJS的事件、核心组件、表格和表单等各种控件、树形结构、拖放、弹出窗口、布局、数据存储和传输、实用工具和扩展等进行了详细讲解,最后一个...

    Nodejs为什么选择javascript为载体语言

    准备写一个NodeJS方面的系列文章,由浅入深,循序渐进,秉承的理念是重思想,多实践,勤能补拙,贵在坚持。本文首先来点基础知识的开篇吧。

    requirejs-learnt:关于学习requirejs和示例

    尽管通过匿名函数自执行(返回方法)或者面向对象等方式,使其看似模块化,但如何保证方法与调用之间的依赖关系是一个值得思考的问题,在这个基础上require.js诞生了 #####目的 通过此次对require.js的分享,能让...

    asp.net知识库

    技术基础 New Folder 多样式星期名字转换 [Design, C#] .NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则...

    java视频教程Day01 免费

    1. Java Getting Started (Java课程简介及开篇) 2. Identifier,keyword and types (标示符, 关键字和数据类型) 3. Expression and Flow Control (表达式和流控制) 4. Array (数组) 5. Object-Oriented ...

    微信小程序豆瓣电影项目的改造过程经验分享

    本篇随笔基于一个豆瓣电影接口的小程序开源项目进行重新调整,把其中遇到的相关难点和改进的地方进行讨论介绍,希望给大家提供一个参考的思路,本篇随笔是基于前人小程序的项目基础上进行的改进,因此在开篇之前首先...

    Nodejs学习笔记之Global Objects全局对象

    一,开篇分析 在上个章节中我们学习了NodeJS的基础理论知识,对于这些理论知识来说理解是至关重要的,在后续的章节中,我们会对照着官方文档逐步学习里面的各部分模块,好了该是本文主角登台亮相的时候了,Global ...

    Nodejs学习笔记之NET模块

    一,开篇分析 从今天开始,我们来深入具体的模块学习,这篇文章是这个系列文章的第三篇,前两篇主要是以理论为主,相信大家在前两篇的学习中, 对NodeJS也有一个基本的认识,没事!!!趁热打铁,让我们继续将NodeJS...

Global site tag (gtag.js) - Google Analytics