JavaScript学习心得
javaScript十分的强大,所以自然而然学起来也是不易的,想要掌握它的核心,把它理解透更是不易的,但只要你能够静下心来,耐心的去钻研,学习,还是可以把它给学好的,加油吧!
下面是一些JavaScript的学习知识点:
javaScript 对象的反射及应用
使用 JSON 创建对象
关于 BOM
SVG 中使用 JavaScript
浏览器中的 JavaScript
正则表达式--简单模式
正则表达式--JavaScript 实现基础
FireFox 2 beta 1 支持 JavaScript 1.7
JavaScript 中的继承(下)
JavaScript 中的继承(上)
JavaScript 中的对象(下)
JavaScript 中的对象(上)
JavaScript 调试工具
ECMAScript 基础
JavaScript 基本组成
以上是JavaScript的一些核心知识
arguments是函数的参数对象,caller返回一个调用当前函数的引用,只有在执行时才有定义。
length函数定义时,定义参数的个数
prototype函数内置的属性,指针对象,指向原型对象,之前专门描述过。函数在创建时,随着赋予一个prototype属性,它的值是一个拥有constructor属性且值即为该函数的对象。
原型对象同样用一个__proto__原型链属性,__proto__内置属性,函数构建被赋予,寻找原型链的属性
2. 函数通常是由5个部分组成。
1) function 关键字,标识了该对象是一个特殊数据类型function而不是object。
2) 函数名,通常一些会被多次调用的函数在定义时,必须给定函数名。函数名通常是小写字母开头,采用“驼峰命名法”命名。
3) 参数。参数并不是必须的。实际上,在JS函数定义时并不需要对参数规定类型,调用时也不需要对传入参数进行类型检查,更自由的是在调用时甚至是不用检查参数个数。正因为JS有这样的特性,在实际编程会给我们带来不少麻烦,如果我们想将JS编程代码做到更严谨高效的话,那么在函数定义者部分我们就要掌握下面提及的方法。
我们会用到arguments,这是JavaScript函数内部的一个特殊对象,是一个类数组对象,用于保存所有传入函数的参数。函数可以通过它来访问所有调用时传递过来的参数列表,也使得JS函数参数拥有了以上的不确定性。
arguments.callee 通常使用在匿名函数中,callee是arguments的一个属性,指向这个arguments对象的函数。这里可能会混淆的是this,起初我也是认为回去当前函数参数个数可以写作:this.length。但是在函数内部,this指向的函数执行的环境对象,而不是函数本身。
可以直接用参数变量名进行判断,typeof语法中括号是可选项。typeof对string、number、function、undefined、boolean等几种类型判断完全可以,但是很多情况我们会将一个数组或者一个自定义对象实例作为一个参数来传递,则需要以下方式处理:
instanceof操作符之前提及过,可以判断变量是否是对象的一个实例,对于JS内置对象和自定义对象都适用。
在实际编程过程中调用函数时,可能参数值并不是我们想要的,值在Boolean环境下为false,就需要为其设置默认值。但是Number类型参数需要注意0在Boolean环境下返回值是false。
上述例子中我们使用”||”操作符代替了if判断,但是这前提是变量必须预先声明,否则就会报引用错误“name is undefined”,实例中“name”被作为定义参数传入,相当于var。
null被作为参数传入,这样的做法经常在特殊情况下被主动用作参数占位符,当然也可以使用undefined。
4) 函数体,包括在{}内的一组逻辑嵌套语句,这些语句是函数的主体,在函数被调用时执行。良好的变成习惯是一个函数仅仅只做一件事情,所以出现在一个函数体内的逻辑仅仅只是围绕以个方向的逻辑展开的,不要企图在意个函数内做很多事,那么只会让代码更繁琐,变得没有条理。
5)返回值。JS函数在创建时,并不需要声明返回值,默认都返回undefined。返回值类型在return之后确定,return在函数体内的作用是提前终止函数运行并输出相应的表达式或值,可以出现在函数体任何位置。
JavaScript学习心得的更多相关文章
- WGZX:javaScript 学习心得--2
转贴javascript心得(二) 标签: javascriptajaxweb开发htmlfirefox框架 2008-09-11 10:56 636人阅读 评论(0) 收藏 举报 分类: UI(2 ...
- WGZX:javaScript 学习心得--1
标签: javascriptiframedreamweaver浏览器htmltable 2008-09-11 10:50 1071人阅读 评论(0) 收藏 举报 分类: UI(21) 1,docu ...
- JavaScript学习心得(十)
Ajax Ajax是浏览器中使用JavaScript进行服务器后台请求,读取附加信息或者导致服务器响应的过程. Ajax广泛用于从服务器读取数据,并用所得到的数据更新页面,以及向服务器发送数据 Aja ...
- JavaScript学习心得(八)
Cookie是Netscape发明的技术,是动态网站必不可少的部分,用于浏览器请求Web页面的超文本传输协议是一种无状态的协议. 两种方法维护状态:使用会话(session)(使用服务器技术实现,数据 ...
- JavaScript学习心得(七)
一 创建事件监听器 开发人员往往使用事件和元素组合来命名事件处理函数. 创建事件监听器方法: 嵌入式事件处理器即将JavaScript函数赋值给HTML元素属性(不推荐使用:污染HTML:无法应用渐进 ...
- JavaScript学习心得(六)
函数 对函数参数没有任何类型检查(弱类型),在必要时在函数内加上类型检查(typeof): JavaScript的函数参数无法设置默认值(可以通过检查参数,当为undefined时设置一个值 func ...
- JavaScript学习心得(五)
一时间 1970年1月1日是电脑常用的时间参考点,称为纪元(Epoch)或者UNIX时间戳(UNIX Epoch).JavaScript中的Date对象能够表示1970年1月1日子夜前后1亿天之内的任 ...
- JavaScript学习心得(四)
条件语句 任何事物非真即假. 在JavaScript中,条件判断以下情况为假: false NaN 0 空串 null undefined 在使用相等运算符时,建议将数字写在相等运算符的左边.全等比较 ...
- JavaScript学习心得(三)
一 变量 var:变量声明 变量名 =:赋值 简单值类型 全局变量:编程的一般规则——应用程序应该只完成必须的最少功能,如果一个变量不是绝对必需,就不该是全局:全局变量对维护性能不利,因为需要一直维护 ...
随机推荐
- C#命令行解析工具
我将告诉大家两个方法去获取C#输入的命令行参数. 第一个方法: 林选臣大神写的,他的方法很简单. 首先复制两个类到项目 public class CommandLineArgumentParser { ...
- 查漏补缺系列之dapper初体验
什么是dapper 在维护一些较老的项目的时候,往往我们会用很多sql那么这个时候我们要考虑优化这些项目的时候,我们就可以使用dapper dapper 是一款轻量级的ORM框架,它的优势很多轻量级, ...
- 【读书笔记】《写给大忙人看的Java SE 8》——Java8新特性总结
虽然看过一些Java 8新特性的资料,但是平时很少用到,时间长了就忘了,正好借着Java 9的发布,来总结下一些Java 8中的新特性. 接口中的默认方法和静态方法 先考虑一个问题,如何向Java中的 ...
- 使用LINQ TO XML 创建xml文档,以及读取xml文档把内容显示到GridView例子
首先,准备了一个Model类 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
- JQuery-基础学习1
1)JQuery语法 jquery语法是为HTML元素的选取编制,可以对元素执行某些操作. 基础语法是:$(selector).action() 美元符号定义JQuery 选择符(selector)& ...
- CountDownLatch、CyclicBarrier和 Semaphore比较
1)CountDownLatch和CyclicBarrier都能够实现线程之间的等待,只不过它们侧重点不同: CountDownLatch一般用于某个线程A等待若干个其他线程执行完任务之后,它才执行: ...
- C#读写Shapefile
Shapefile文件是ArcGIS存储矢量要素的标准格式,要读写Shapefile最简单的方法当然是基于ArcObject(或者ArcEngine)开发,不过网上也有一些开源的解译Shapefile ...
- ES6新特性 Class的实现
ES5之前类的继承是靠原型实现的,而这一过程的实现又涉及到一大堆的原型定义,特别是ES5推出了Object.definePorperty()方法后,代码更加晦涩.但是这种方式正是javascript这 ...
- Leetcode题解(29)
93. Restore IP Addresses 题目 分析:多重循环,判断小数点合适的位置 代码如下(copy网上) class Solution { public: vector<strin ...
- Intervals
Intervals Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...