javascript 笔记(1)
document.forms[0].names.value == ''
forms[0]表示文档的第一个 form 表单,names 表示这个表单元素名为 names 的表单的元素,此时表示的是获取此页面中,第一个表单中名称为 names 的值!
IE特有的,火狐没有
<script for="id/name" event="事件名(onclick)">
// 代码
</script>
用 var 声明的变量表示局部变量,用 var 声明的变量,可以先声明,不用赋值就可用,不会报错,而不用 var 声明的,必须赋值,不然会报错,推荐用 var 声明变量!
严格区分大小写,变量名可用驼峰法或者是首字母大字!
js 是面向对象的语言,却没有类的,所以不能用类的方式来实现,而是用面向对象的方式来实现,即 JSON(javascript object nonation) 格式,用 new 或者 {},如 var obj = new Object(); 或者 var obj = {};
函数声明方式:
1.声明方式
function 函数名([参数列表]){
// 代码
}
2.字面量定义方式:(匿名函数)
var 变量名 = function([参数列表]){
// 代码
}
调用时: 变量名([参数列表]);
3.以对象的形式声明:(少用)
var 变量名 = new Function([参数列表], "代码段");
此时的参数和代码段要用单/双引号,function首字母要大写!
也可以直接这样用:
(function(){代码})()
以基本语法声明的函数,会在代码运行时,提前加载到内存中,供以后使用,但是以字面量形式命名的函数,会在执行到的时候进行赋值,所以同名函数与此时的字面量定义的变量名相同时,总是执行字面量函数!
函数参数问题:
函数的形参与实参数量不一致时,不会报错,在函数中隐式创建一个 arguments 对象,它包含实际传入的参数的信息,引用时可用下标法,如 arguments[i],实际传入的参数有两个信息,一个为 length,一个为calle,calle 即对本身代码的描述!
函数调用方式:
1。通过指针形式来调用函数:
函数名是一个指针,所以可以用函数名作为参数!
如:
function add(num1, num2){
return (num1+num2);
}
function res(num1,num2,add){
return add(num1,num2);
}
alert(res(1,2,add));
2.用匿名函数来调用:
function add(num1, num2, func){
return func(num1,num2);
}
alert(add(1,2,function(num1,num2){
return (num1+num2);
}));
3.定义的同时执行
(function add(num1,num2,func){
return func(num1,num2);
})(100, 200,function(num1,num2){
alert(num1+num2);
});
其中函数名 add 可有可无!
eval("字符串"),会把字符串当作 js 脚本来执行,前提是字符串要符合JS 语法,里面的变量作用域只在其字符串内起作用!
如果用 window.eval("字符串"),则字符串中的变量在火狐浏览器是全局的,而在IE是局部的,如果用 window.execScript,则在IE下作用和在火狐下用 window.eval() 作用一样,火狐对 execScript不起作用,会报错!
数组声明:
1。用对象方式:
var a = new Array();如果 var a = new Array(数值); 则数值表示为 数组 a 的长度!
A。直接赋值:
var a = new Array(元素1,元素2,...);
B. 先声明,后赋值
var a = new Array();
a[0] = 元素1;
a[1] = 元素2;
.....
2. 隐匿声明:
var a = [];
A。直接赋值:
var a = [元素1,元素2,...];
声明后赋值:
var a = [];
a[0] = "元素1";
a[1] = "元素2";
javascript 笔记(1)的更多相关文章
- [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象
js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...
- [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符
“1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...
- [Effective JavaScript 笔记]第3章:使用函数--个人总结
前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...
- [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码
函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...
- [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法
js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...
- 从头开始学JavaScript 笔记(一)——基础中的基础
原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成 javascript ECMASc ...
- 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight
做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...
- JavaScript笔记目录
JavaScript笔记目录 一.JavaScript简介 二.在HTML中使用JavaScript ...持续更新中,敬请期待
- 蛋糕仙人的javascript笔记
蛋糕仙人的javascript笔记:https://www.w3cschool.cn/kesyi/kesyi-nqej24rv.html
- JavaScript笔记(第一章,第二章)
JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...
随机推荐
- [五]JFreeChart实践四之直线图
重点: 1.时间序列集合作为dataset,一个时间序列为一条折线 2.时间序列可以是月:年,小时:天 3.准备好时间序列要放入时间序列集合中 4.将时间序列集合作为dataset传入ChartFac ...
- java中对map使用entrySet循环
根据JDK5的新特性,用For循环Map,例如循环Map的Key 1 2 3 for(String dataKey : paraMap.keySet()) { System.out.p ...
- 订阅基础:RSS、ATOM、FEED、聚合、供稿、合烧与订阅
很多网友对这类名词概念非常陌生,如果没用过FEED订阅,肯定还会对诸多网站显示的FEED聚合.订阅.ATOM等等非常郁闷,虽然这几个名字间的很多并非并列关系,天缘只是有意把它们放到一起,方便对比参考, ...
- cmd 控制台 提示:请求的操作须要提升!
cmd 控制台 提示:请求的操作须要提升! 在windows7中想用route add 或相关route等命令须要以管理员身份执行,假设windows7以下没有以管理身份执行那么加入路由时候route ...
- 【转】C++中了类继承和调用父类的构造函数方法
构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法).因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需 ...
- 分页存储过程--From:桌面备份 -> sql2005新功能.docx
二.以下示例将返回行号为 50 到 60(含)的行,并以 OrderDate 排序. USE AdventureWorks; GO WITH OrderedOrders AS (SELECT Sale ...
- java和c#md5加密不同
java的mad5加密后为32位字符串,c#直接加密后可能不是32位,位数也不确定. 普通的写法 public static string Md5(string sourcein) { var md5 ...
- Oracle中*.dpm文件导入
开始->运行->cmd-> imp rfb_user/123 file=d://rfb.dmp full=y log=myimp.log ignore=yes
- linux上安装shell编辑器与linux运维面试题
分两个部分 一.安装B-shell解释器 安装cygwin Eclipse要找到安装的bin路径 https://cygwin.com 二.安装编辑器shellEd 下载可以得到一个:net.sou ...
- [转] 引用 Java自带的线程池ThreadPoolExecutor详细介绍说明和实例应用
PS: Spring ThreadPoolTaskExecutor vs Java Executorservice cachedthreadpool 引用 [轰隆隆] 的 Java自带的线程池Thre ...