JavaScript基础—插曲
Javascript基础
1:js中我们最好使用单引号,其实可以使用双引号的但是为了区别所以js中全部使用单引号。注释和C#的是一样的。网页里面的执行顺序是从上到下依次执行的,不管你js放到哪里,都会按照顺序进行执行的。若是js中出现了错误,只是不继续执行此js中<script></script>的代码,但是网页中其余的js代码还是会执行的。
2:书写js代码的时候我们必须为其加上分号,这样的好处有二:1,可以便于压缩;2,提高了代码的可读性,可维护性。
3:js中的数据类型。
我们可以使用typeof()来获取到对象的数据类型。
4:js中的==和===的区别
他们两个有一个相同点,若是数据类型一致,进行判断,不一样则==会进行转换在判断。
==:它是我们最常规的等号,但是在js中会将两个不同数据类型的值,进行转换,若转换后,二者相等则相等。
===:这个是绝对等号,只要是数据类行不同,那就是不相等。
5:js中null和undefined
Js一般在使用变量之前应该判断其是否可用,接着在使用。申明变量未赋值的时候,那么这个变量就是undefined,变量压根没申明,那么浏览器会报错。方法没有返回值的时候,接收到的就是Undefined。Null值其实就是变量里面有值,值就是"null"。变量无论是Null和undefined都是表示变量不可用,所以我们在使用的时候就必须进行判断,效验看是否可用。
6:js的变量域
*:Js中申明的变量在整个页面里面都是可以使用的,这个C#不一样。但是在函数里面申明的变量有自己的作用域。
*:申明变量的时候若是不写var关键字,表示变量是一个整个页面都可以访问的变量。
7:js中转换问题
à若是转换的时候弹出NaN,它是一个double类型的值。
àparseInt():这个方法是将变量转换为Int类型,这个是在字符串中从第一个开始找数字,若找到数字进行转化,找到几个转换几个数字。变态呀这方法。默认是10进制的。
à
- <script type="text/javascript">
- var n = parseInt('a1b2v4');
- if (isNaN(n)) {
- alert('失败了');
- } else {
- alert('成功');
- }
- </script>
关于NaN,不要使用==,这个在这里没作用,相当于没写。
8:关于eval()函数
这个方法是一个把字符串当作js代码去执行的方法,但是我们不在里面写js代码,他会原样输出。
9:&&(并且),||(或)
&&:一false为false;
||:一true为true;这个和C#中的是一样的。在js中我们经常使用两个元素进行比较,这里注意0就是假,1就是真。
9:js的调试
利用chorme进行调试,界面如下,
1>:点击Sources,进入找到文件的地址。
2>:看需要在js中哪里卡断点,直接点击前面的,<这里和VS一样>。
3>: F5刷新,让程序执行,这时网页就会卡在你设的那个断点的地方,在右边就会有选择调试的方式,可以监听,比如每个单独的变量。这是就可以进行调试了。
10:js里面没有重载的说法,这个是因为我们第二个申明的函数会将第一个申明的函数覆盖掉,所以网页中,只会保留最后一个申明的函数。
àJs中函数里面无需定义形参,定义形参的目的是为了使用方便。我们可以往下面的函数中传多个参数的。
- <script type="text/javascript">
- function F1() {
- alert('你好世界');
- var sum = 0;
- for (var i = 0; i < arguments.length; i++) {
- sum = sum + arguments[i];
- }
- alert(sum);
- }
- F1();
- F1(1,1,2);
- F1(1,24,56);
- </script>
这个没有重载是有原因的,是因为它函数里面有个arguments变量,其实这个可以说是个数组,我们每次传进来的值都保存到这里,我们可以直接在函数中使用这个来进行取值。
à当代码从网页中从上到下执行的时候,会先进行函数的预解析,所以函数的覆盖才会发生。变量也有预解析,这个在整体和局部都有。而且变量的预解析只是解析申明却不解析赋值。在写js代码的时候最好先全部申明,这样就减少了预解析。
àjs中函数就是对象,js对象的ToString()方法是将其原样输出。Length是其函数形参的个数。
11:匿名函数
- var fff = function(a) {
- alert('阿辉');
- };
- fff = "";
- alert(fff);
- alert(fff(1));
第二种,在编写方法的同时调用匿名函数。这个真是变态,不好理解。
(function(x, y) { alert(x + y); })(1, 2);
这样写的好处,减少了代码中变量名的作用域。
第三种:
通过new Function();的方式定义匿名函数,可以将函数代码用字符串来表示,同时在函数中使用的变量,不会作为页面的"全部变量"出现,在函数外部也访问不到,不像eval()一样。
- var f = new Function('x', 'y', 'z', 'alert(x+y+z)');
- var f = new Function('x,y,z','alert(x+y+z)');
JavaScript基础—插曲的更多相关文章
- JavaScript基础插曲-练习
Javascript基础学习 eg:利用正则表达式来去掉空格. 1:msg=' Hello ': <script type="text/javascript"> ...
- JavaScript基础插曲—元素样式,正则表达式,全局模式,提取数组
JavaScript基础学习 学习js的基础很重要,可以让自己有更多的技能.我相信这个以后就会用到. Eg:点击选择框,在div中显示出选择的数量 window.onload = function() ...
- JavaScript基础插曲---apply,call和URL编码等方法
Js基础学习 Js的压缩: 就是利用js的语法格式通过缩短变量名,去掉空格等来进行压缩. Apply和call的使用 1:apply方法:应用某一对象的方法,用于一个对象替换当前对象.主要是改变thi ...
- JavaScript基础插曲—获取标签,插入元素,操作样式
Js基础 1:document.write() 这个是动态创建元素内容,利用js.这个可以利用js来创建元素,文本,标签等,document.write()与document.writeln()的区别 ...
- JavaScript基础—插曲02
Js学习基础 1:关于js中的数组 这里面可以是键值对的形式来存储的,我们必须利用forIn来输出,这就相当于foreach一样. var dir = new Array(); dir['0'] = ...
- JavaScript基础
JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...
- 一步步学习javascript基础篇(0):开篇索引
索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...
- 前端之JavaScript基础
前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...
- 一步步学习javascript基础篇(3):Object、Function等引用类型
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...
随机推荐
- Hadoop开发第4期---分布式安装
一.复制虚拟机 由于Hadoop的集群安装需要多台机器,由于条件有限,我是用虚拟机通过克隆来模拟多台机器,克隆方式如下图所示
- 一道原生js题目引发的思考(鼠标停留区块计时)
我瞎逛个啥论坛,发现了一个题目,于是本着练手的心态就开始写起来了,于是各种问题接踵而至,收获不小. 题目是这样的: Demo: mouseenter与mouseover区别demo 跨浏览器的区块计数 ...
- PHP爬虫(2)DOM处理
摘要:在PHP爬虫(1)中详细了介绍了CURL抓取HTML数据的技术.采集数据处理也是爬虫技术中非常重要的部分.处理HTML数据可以用字符串查找,也可以利用正则表达式,但采用Dom处理是最高级的方法. ...
- 分享一些Hadoop环境搭建所用到的软件
本来想用土的掉渣的语言说说hadoop配置的,因为最近总有人问我,环境搭建老出莫名其妙的问题,可是写到一半,还是决定不写了,网上教程好多好多,而大家遇到问题有很多是软件版本不对应造成的,因此我就把大家 ...
- Ubuntu环境搭建系列—JavaEE篇
恩,其实我是一时兴起,所以就写了目前这几篇环境的博文,希望能给自己做一个笔记,同时也能够给一些新手带来一些帮助,不会在配置方面那么迷茫.本篇文章主要就是针对Java web开发进行环境搭建. 一.To ...
- Java-单例模式(singleton)-转载
概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例.饿汉式单例.登记式单例三种. 单例模式有一下特点: 1.单例类只能有一个实例. 2.单例类必须自己自己创建自己的唯一实例. ...
- MVVM架构~knockoutjs实现简单的购物车
返回目录 概念相关 购物车相信大家都用过,很方便,可以将多个商品添加到购物车,并且可以修改购买商品的数据,当然为了用户体验好,在修改数据时,你的价格也会出现变化的,这使用JS可以实现,但我认为,代码量 ...
- Angularjs学习---ubuntu12.04中karma安装配置中常见的问题总结
karma启动时出现了很多问题: 1.安装karma前提条件 安装karma首先要安装nodejs,npm然后才可以安装karma.nodejs,npm的安装过程可以参考文章:Angularjs学习- ...
- Asp.net WebApi 项目示例(增删改查)
1.WebApi是什么 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET ...
- 1.安装Redis
首要条件:安装VMware,在虚拟机中安装CentOS. 安装步骤: 1.打开终端(Terminal) 2.在终端输入:wget http://download.redis.io/releases/r ...