博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript -- 知识点汇总
阅读量:5062 次
发布时间:2019-06-12

本文共 4845 字,大约阅读时间需要 16 分钟。

 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] 返回 objecttypeof undefined             // undefinedtypeof 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")   // 返回 NaNNumber.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()

 

  

  2. 属性: validity = (customError | patternMismatch | rangeOverflow | rangeUnderflow | stepMismatch| tooLong | typeMismatch | valueMissing | valid);  validationMessage  willValidate

 

18. javascript的viod(0)

19. javascript的代码规范

  • 复杂语句的通用规则:

    • 将左花括号放在第一行的结尾。
    • 左花括号前添加一空格。
    • 将右花括号独立放在一行。
    • 不要以分号结束一个复杂的声明。
  • 通常运算符 ( = + - * / ) 前后需要添加空格:
  • 对象定义的规则:

    • 将左花括号与类名放在同一行。
    • 冒号与属性值间有个空格。
    • 字符串使用双引号,数字不需要。
    • 最后一个属性-值对后面不要添加逗号。
    • 将右花括号独立放在一行,并以分号作为结束符号。
  • 一般很多代码语言的命名规则都是类似的,例如:

    • 变量和函数为驼峰法( camelCase
    • 全局变量为大写 (UPPERCASE )
    • 常量 (如 PI) 为大写 (UPPERCASE )

    变量命名的几种规则: hyp-henscamelCase, 或 under_scores 

转载于:https://www.cnblogs.com/nelson-hu/p/6607659.html

你可能感兴趣的文章
Rule 1: Make Fewer HTTP Requests(Chapter 1 of High performance Web Sites)
查看>>
sql注入
查看>>
「破解」Xposed强
查看>>
src与href的区别
查看>>
ABAP工作区,内表,标题行的定义和区别
查看>>
《xxx重大需求征集系统的》可用性和可修改性战术分析
查看>>
Python 中 创建类方法为什么要加self
查看>>
关于indexOf的使用
查看>>
【转】JS生成 UUID的四种方法
查看>>
英语单词
查看>>
centos6.8下安装matlab2009(图片转帖)
查看>>
Mongo自动备份
查看>>
求助大神!怎样批量删除数据库表中某个字段中同样的一段字符!
查看>>
VMWARE虚拟机无法访问的三种方法分析
查看>>
enq: SQ - contention
查看>>
cer证书签名验证
查看>>
ant 安装
查看>>
新手Python第一天(接触)
查看>>
vue路由动态加载
查看>>
【原】UIWebView加载本地pdf、doc等文件
查看>>