JavaScript -- 知识点汇总
js语法
1. javascript数据类型
JavaScript拥有动态类型。这意味着相同的变量可用作不同的类型:有 字符串,数字, 布尔值, 对象, 数组,Undefined和Null
对象:
var person={
firstname : "John",
lastname : "Doe",
id : 5566
};
对象属性有两种寻址方式:
name = person.lastname;
name = person["lastname"];
Undefinied: 表示这个变量并没有值(没这个变量)
Null: 表示这个变量的值为空
声明变量类型:可使用new关键字来对变量类型进行声明
var carname = new String;
var x= new Number;
var y= new Boolean;
var cars= new Array;
var person = new Object;
* JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象
2. JavaScript 对大小写是敏感的。
3. JavaScript 语句向浏览器发出的命令。语句的作用是告诉浏览器该做什么。 JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码
4. javascript使用分号来分隔语句分号 ;
5. javascript在文本字符串中使用反斜杠对代码行进行换行
document.write("你好 \
世界!");
6. 注释: 单行注释以 // 开头 多行注释以 /* 开始,以 */ 结尾
7. 变量: 使用 var 关键词来声明变量
var carname; // 变量声明之后,该变量是空的(它没有值)既值是 undefined
var carname="Volvo"; // 声明且赋值
可一条语句同时声明多个变量
var lastname="Doe", age=30, job="carpenter"; //效果等同于
var lastname="Doe"
var age=30
var job="carpenter";
局部变量: 函数内部声明的变量(使用 var)是局部变量,只能在函数内部访问它。
全局变量: 不在任何函数内声明的变量是全局变量,网页上的所有脚本和函数都能访问它
生命周期: JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
* 若向未声明的变量中赋值:
carname="Volvo";// 将声明一个全局变量 carname,即使它在函数内执行。
8. javascript对象: JavaScript 对象是属性和方法的容器
// 对象方法
var person = {
name: 'tom',
age: 20,
behavior: function () {
console.log(this.name)
},
behavior2: thisMethod // 另一种形式
};
function thisMethod () {
console.log('name');
}
// 访问对象方法
function testGetObjectMethod () {
person.behavior();
person.behavior2();
}
9. javascript作用域: 可理解为可访问变量的集合
在 HTML 中, 全局变量是 window 对象: 所有数据变量都属于 window 对象
window.myName = 'all can get'; // this variable can get everywhere
* 全局变量,或者函数,可以覆盖 window 对象的变量或者函数。 局部变量,包括 window 对象可以覆盖全局变量和函数。
10. javascript常用事件:
HTML 事件是发生在 HTML 元素上的事情。
HTML 事件可以是浏览器行为,也可以是用户行为。
常用事件: onclick, onchange, onmouseover, onmuseout, onkeydown, onload
11. javascript的字符串对象;
* 反斜杠是一个转义字符。 转义字符将特殊字符转换为字符串字符 eg: \" \\ \n \r
// 字符串属性
constructor 返回创建字符串属性的函数
length 返回字符串的长度
prototype 允许您向对象添加属性和方法
// 字符串方法
charAt() 返回指定索引位置的字符
charCodeAt() 返回指定索引位置字符的 Unicode 值
concat() 连接两个或多个字符串,返回连接后的字符串
fromCharCode() 将 Unicode 转换为字符串
indexOf() 返回字符串中检索指定字符第一次出现的位置
lastIndexOf() 返回字符串中检索指定字符最后一次出现的位置
localeCompare() 用本地特定的顺序来比较两个字符串
match() 找到一个或多个正则表达式的匹配
replace() 替换与正则表达式匹配的子串
search() 检索与正则表达式相匹配的值
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分
split() 把字符串分割为子字符串数组
substr() 从起始索引号提取字符串中指定数目的字符
substring() 提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase() 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase() 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase() 把字符串转换为小写
toString() 返回字符串对象值
toUpperCase() 把字符串转换为大写
trim() 移除字符串首尾空白
valueOf() 返回某个字符串对象的原始值
12. javascript的 运算符, 比较符, 条件语句, switch语句, for循环, while循环, break和continue等可参照其他语言。
13. typeof 运算符
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
* 在JavaScript中,数组是一种特殊的对象类型。 因此 typeof [1,2,3,4] 返回 object
typeof undefined // undefined
typeof null // object NaN 的数据类型是 number
数组(Array)的数据类型是 object
- 日期(Date)的数据类型为 object
- null 的数据类型是 object
- 未定义变量的数据类型为 undefined
14. javascript的类型转换
全局方法 String() 可以将任何类型的数字,字母,变量,表达式转换为字符串
String(x) // 将变量 x 转换为字符串并返回
String(123) // 将数字 123 转换为字符串并返回
String(100 + 23) // 将数字表达式转换为字符串并返回
Number 方法 toString() 也是有同样的效果。
x.toString()
(123).toString()
(100 + 23).toString()
String(false) // 返回 "false"
String(true) // 返回 "true"
false.toString() // 返回 "false"
true.toString() // 返回 "true"
String(new Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
obj = new Date() obj.toString() 将字符串转换为数字
全局方法 Number() 可以将字符串转换为数字。
Number("3.14") // 返回 3.14
Number(" ") // 返回 0
Number("") // 返回 0
Number("99 88") // 返回 NaN
Number.parseInt();Number.parseFloat(); 将布尔值转换为数字
Number(false) // 返回 0
Number(true) // 返回 1 将日期转换为数字
d = new Date(); Number(d) // 返回 1404568027739
d = new Date(); d.getTime() // 返回 1404568027739
15. javascript变量提升。
16. javascript的严格模式: "use strict"; 参照: http://www.runoob.com/js/js-strict.html
17. javascript自带的验证API
1.方法: checkValidity() 和 setCustomValidity()
<input id="id1" type="number" min="100" max="300" required>
<button onclick="myFunction()">验证</button> <p id="demo"></p> <script>
function myFunction() {
var inpObj = document.getElementById("id1");
if (inpObj.checkValidity() == false) {
document.getElementById("demo").innerHTML = inpObj.validationMessage;
}
}
</script>
2. 属性: validity = (customError | patternMismatch | rangeOverflow | rangeUnderflow | stepMismatch| tooLong | typeMismatch | valueMissing | valid); validationMessage willValidate
<input id="id1" type="number" max="100">
<button onclick="myFunction()">验证</button> <p id="demo"></p> <script>
function myFunction() {
var txt = "";
if (document.getElementById("id1").validity.rangeOverflow) {
txt = "输入的值太大了";
}
document.getElementById("demo").innerHTML = txt;
}
</script>
18. javascript的viod(0)
<a href="javascript:void(0);">点我没有反应的!死链接</a>
<a href="#pos">点我定位到指定位置!</a>
<br>
...
<br>
<p id="pos">尾部定位点</p>
19. javascript的代码规范
复杂语句的通用规则:
- 将左花括号放在第一行的结尾。
- 左花括号前添加一空格。
- 将右花括号独立放在一行。
- 不要以分号结束一个复杂的声明。
- 通常运算符 ( = + - * / ) 前后需要添加空格:
对象定义的规则:
- 将左花括号与类名放在同一行。
- 冒号与属性值间有个空格。
- 字符串使用双引号,数字不需要。
- 最后一个属性-值对后面不要添加逗号。
- 将右花括号独立放在一行,并以分号作为结束符号。
一般很多代码语言的命名规则都是类似的,例如:
- 变量和函数为驼峰法( camelCase)
- 全局变量为大写 (UPPERCASE )
- 常量 (如 PI) 为大写 (UPPERCASE )
变量命名的几种规则: hyp-hens, camelCase, 或 under_scores
JavaScript -- 知识点汇总的更多相关文章
- Javascript知识点汇总-初级篇
JavaScript的数据类型都有什么? 基本数据类型:String,Boolean,Number,Undefined, Null 引用数据类型:Object(Array,Date,RegExp,Fu ...
- HTML+Css+JavaScript知识点汇总
HTML 部分 HTML基础知识 1. HTML简介 HTML(Hypertext Markup Language),超文本标记语言,HTML利用各种标记来标识文档的结构以及标识超链接的信息.它是从S ...
- 前端开发 JavaScript 干货知识点汇总
很多初学的朋友经常问我,前端JavaScript都需要学习哪些东西呀?哪些是JavaScript的重点知识啊? 其实做前端开发工程师,所有的知识点都是我们学习必备的东西,只有扎实的技术基础才是高薪的关 ...
- BBS项目知识点汇总
目录 bbs项目知识点汇总 一. JavaScript 1 替换头像 2 form表单拿数据 3 form组件error信息渲染 4 添加html代码 5 聚焦操作 二 . html在线编辑器 三 . ...
- nginx几个知识点汇总
WHY? 为什么用Nginx而不用LVS? 7点理由足以说明一切:1 .高并发连接: 官方测试能够支撑 5 万并发连接,在实际生产环境中跑到 2 - 3 万并发连接数.?2 .内存消耗少: 在 3 万 ...
- JavaScript知识点整理(一)
JavaScript知识点(一)包括 数据类型.表达式和运算符.语句.对象.数组. 一.数据类型 1) js中6种数据类型:弱类型特性 5种原始类型:number(数字).string(字符串).bo ...
- python全栈开发 * 10知识点汇总 * 180612
10 函数进阶 知识点汇总 一.动态参数 形参的第三种1.动态接收位置传参 表达:*args (在参数位置编写 * 表⽰接收任意内容) (1)动态位置参数def eat(*args): print(a ...
- 清华大学OS操作系统实验lab1练习知识点汇总
lab1知识点汇总 还是有很多问题,但是我觉得我需要在查看更多资料后回来再理解,学这个也学了一周了,看了大量的资料...还是它们自己的80386手册和lab的指导手册觉得最准确,现在我就把这部分知识做 ...
- javascript知识点积累
8年javascript知识点积累 08年毕业就开始接触javascript,当时是做asp.net发现很多功能用asp.net控件解决不了,比如checkbox单选,全选问题,自动计算总价问题, ...
随机推荐
- Linux 系统裁剪笔记 3
说到裁减Linux,无非是为了减小磁盘占用或者是为了某些特定场合的应用(如嵌入式系统).以RedHat 7.3为例,其最小安装仍然达到了300M,这不得不让人对一直号称小而全的Linux系统感到疑惑. ...
- 利用squid 搭建简单的透明代理服务器
环境介绍 虚拟主机1: ip eth0192.168.0.100/24 eth1: 200.168.0.100/24 虚拟主机2(模拟外网) 200.168.0.109/24 (运行web serve ...
- dojo表格分页插件报错
dojo表格分页插件报错 (1)dojo/parser::parse() error ReferenceError {stack:(...),message:"layout is not d ...
- Linux显示本地端的文件系统
Linux显示本地端的文件系统 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ df -l 文件系统 1K-blocks 已用 可用 已用% 挂载点 /dev/ ...
- javaWeb之邮箱发送(邮箱客户端配置)
这里使用的是本机的邮箱服务器 , 代码执行条件: 1.·邮箱服务器 , 下载地址 密码 s4xn 邮箱服务器配置: 1):安装 2):打开服务器 红色部分是默认账号,不用处理 3)系统设置 ...
- Windows10 + Matlab2013 mex C++ 调用gsl
最前面啰嗦一句,matlab默认编译c的编译器有点奇怪,会出现引用.h却找不到相应函数的问题,解决方法是把.c全部都改成.cpp!血的教训! 下面进入正题~~ 由于Matlab调用的C函数中引用了GS ...
- Python基础_文件的的处理及异常处理
今天主要讲讲文件读写及异常处理. 一.文件操作 1.1 文件的创建及读 打开文件 open 函数 open(file,[option]) file 是要打开的文件 option是可选择的参数文件的打 ...
- Struts2【开发Action】知识要点
前言 前面Struts博文基本把Struts的配置信息讲解完了.....本博文主要讲解Struts对数据的处理 Action开发的三种方式 在第一次我们写开发步骤的时候,我们写的Action是继承着A ...
- Theano环境搭建/安装
关键词:theano安装,搭建theano环境, python, 深度学习 因为需要安装theano,结果发现这又是一个难以安装的python包-虽然网上教程不少,然而鱼龙混杂,试验了各种方法流程,最 ...
- 爬虫抓包工具Fiddle设置
安装证书(用于https)