JavaScript学习总结
1.JavaScript是作用于网络和HTML的一个编程语言。
2.JavaScript代码必须放在<script></script>标签之间,Javascript现在是HTML默认的脚本语言,所以在<script>标签中不需要声明脚本语言为JavaScript,即不需要type="text/javascript"。
3.可以添加任意数量的脚本在HTML document中,JavaScript可以放在<head>或<body>区域,也可以两处都放,把JavaScript放在body区域的底部可以提高网页加载的速度。
4.JavaScript可以放在一个单独的js文件中,需要使用的时候在页面引入即可。外部js代码不可以包含<script>标签。
5.JavaScript没有任何内置的打印和显示函数,输出信息有四种方式:
a)window.alert()把信息写到弹出框。
b)document.write()把信息写到HTML输出,注意在HTML document完全加载完之后执行document.write()将会删除页面所有的HTML元素。
c)innerHTML把信息写到一个HTML元素中。
d)console.log()把信息输出到浏览器控制台。
6.JavaScript语法定义两种类型的值:固定值又称字面量,数字用十进制表示或不用十进制表示,字符串是一个文本,写在双引号或单引号内。如'lcw',4,变量值又称变量,用来存储数值,JavaScript使用”var“关键字声明变量,使用一个”=“,为其赋值。如var x; x = 6。
7.JavaScript使用数学运算符 + - * / 计算数值。
8.JavaScript在//后和在/**/中的内容是注释内容,在代码执行时会被忽略,建议优先使用//注释,/**/可以写一些正式的说明文档。
9.JavaScript标识符用来命名变量,变量名的第一个字符必须为字母、下划线或美元符号($),其他字符可以是字母、数字、下划线、美元符号,数字不允许作为变量名的第一个字符,这样JavaScript就可以轻易的把数字和标识符区分开,在JavaScript中表示符大小写是会判断的,如lastName和LastName是不同的变量,VAr也不会被解释为关键字var,”-“号不能作为标识符中的字符,其在JavaScript中作为减号使用。
10.在每句代码最后分号并不是一定要有的,但强烈建议加上。为了增加可读性可以在代码中加上一些空格,如赋值语句中在等号前后加上个加上一个空格,代码会看起来更美观,一般建议在"+","-","*","/","="这些字符两侧都加上空格。
11.在实际编写代码中,若一行占位过于长,可以在等号处换行。
12.建议在代码的开头声明所有的变量。
13.在JavaScript中,如果声明一个变量,没有为其赋值,其默认值是:undefined。
14.+用在字符串运算中,相当于连接符。
15.在运算时,注意运算符有优先级。
16.当把一个数字和字符串相加时,数字将会被作为字符串处理。
17.JavaScript具有动态类型特性,当声明一个变量,为其赋值,其类型就为该值的类型,若为其赋另一种类型的值,则改变量的类型也将会随之改变。
18.在定义字符串时,单引号和双引号可互相嵌套,注意引号配对问题。
19.JavaScript中的数组下标从0开始,在JavaScript中数组也是对象,没有赋值的变量typeof返回值是undefined,注意var v = "",v的typeof返回值是string,其值是"",注意null的typeof的返回值是object。
20.定义函数名的规则和定义标识符的规则相同,在函数内部。
21.return会结束代码的执行。
22.JavaScript中的对象是属性和方法的容器。
23.定义一个对象,访问该属性有两种方法:1.对象名.属性名,2.对象名["属性名"]。调用一个方法对象名.方法名(),如果写成对象名.方法名,将返回函数的定义。
24.尽量不要用new关键字声明一个变量,这样会使代码复杂化,并会减慢执行速度。
25.在函数内部定义的变量是局部变量,只能在函数内部访问,即变量的作用域,调用函数时传入的参数作为函数内的局部变量处理,不同函数内的变量名字可以相同。
26.函数内的局部变量在函数开始执行时创建在函数结束时删除。
27.定义在函数外部的变量就是全局变量,全局变量可以在任何地方访问。
28.若赋值给一个没有声明的变量,该变量将自动变为全局变量,尽量不要定义全局变量。
29.全局变量或函数可以覆盖window变量和函数,反之亦然。
30.JavaScript中的变量的生命周期中被声明时开始,本地变量在函数执行完之后被删除,全局变量在用户关闭网页时被删除,在HTML中所有的全局变量属于window对象。
31.\可以把以一些具有特殊含义的字符转为字符 如var a = "qwer\"qw\"er";
32.JavaScript把一些原始类型的数据像字符串看作对象,它们也有属性和方法。
33.JavaScript中数字的存储是双精度浮点类型,占用64位大小,0-51是数值,52-62表示指数,63位表示正负。当表示整数时,超过15位就不准确了,不要把0作为数字的第一位。
34.默认JavaScript显示数字是10进制。可以通过toString(8)转成8进制,或其他进制。
35.Infinity/-Infinity,整数除0即得Infinity,负数除0即得-Infinity,Infinity的类型是number。
36.NaN即Not a Number,100/"apple"的结果就是NaN,100/"10"的结果就是10。
37.JavaScript中注释建议使用//,/**/在正式说明时使用。
38.在实际编程中最好在变量作用域最开始的地方声明所有变量。
39.JavaScript中String是构造函数,string是数据类型。
40.JavaScript中函数名代表函数定义,函数名()则代表函数执行。
41.JavaScript中当设置一个时间时,如果没有设置时区,js将会使用浏览器的时区,当获取一个时间时,如果没有设置时区,结果将会转化为浏览器时区时间。
42.注意定义数组时,数组的最后一个元素的最后不要再加上",",JavaScript中数组的下标索引从0开始。
43.定义数组时若索引是被命名的,JavaScript将会重新定义数组为一个标准的对象,这样数组的一些属性和方法将会返回错误的结果。如:var person = []; person["firstone"] = "lcw"; preson.length,person[0]返回的结果和预期将会不相符合。
44.Javascript中数组使用数字下标索引,对象使用命名索引。Arrays是使用数字下标索引的特殊对象。
45.所有的JavaScript对象都有valueOf()和toString()方法。
46.在JavaScript中所有的原始类型的值在执行获取属性和执行方法时,JavaScript会把他们看成对象。
47.注意Javascript中"==="和"=="的区别,及"!="和"!=="的区别。
48.JavaScript中数字在运算时会被转化为32位表示。
49.JavaScript中的switch语句中如果default不是最后一个情景,以"break;"结束。
50.JavaScript中的变量可以被转化为另一个新变量和另一种数据类型,JavaScript自身会转换变量类型,也可以使用JavaScript提供的函数转换。
51.JavaScript会自动调用变量的toString()方法,当我们试图输出变量或对象时。\
52.在JavaScript中try和catch总是成对出现,当错误产生时JavaScript将会正常停止,生成一个错误信息。
53.JavaScript中的throw关键字,可以throw new Error(""); 或 throw "error";
54.JavaScript中有托举想象,就是JavaScript会把所有的声明移到变量所在作用域的最前面,这样在代码中就可以使用在代码执行时还没有声明的变量,但是如果变量在声明时已经被初始化赋值,则不会被“托举”,托举的只是变量声明,并不包括变量赋值。
55.JavaScript中用'use strict'声明使用严格模式解释执行代码,严格模式的声明也会有作用域的问题,即严格模式作用的范围,另外这种声明只在代码的开始或函数的开始。
56.声明变量时最好对其进行初始化操作,这样可以避免出现undefined值。
57.尽量不要用new关键字声明对象,直接回变量赋值即可。
58.最好在函数内部对每一个参数做初始化赋值。
59.声明switch语句时最好在最后加上default。
60.尽量避免使用eval();
61.在开发中要注意js的加载会延缓页面加载,如果需要从远程服务器下载js文件,根据HTTP定义不能并行下载多个组件。
62.JavaScript中的数据类型,1.简单数据类型:undefined , null , boolean, number,string;2.复杂数据类型:object;
63.JavaScript中typeof返回的值类型:undefined , null , boolean, number,string,object,function。
64.在JavaScript中对象是国王,如果我们能理解对象,我们就理解了JavaScript。
65.一个JavaScript对象是一个命名的值集合,从性能等其他地方考虑,最好使用字面量声明对象。
66.每个JavaScript对象都有一个原型,原型也是一个对象,所有的JavaScript对象都会从原型继承方法和属性。
67.函数的声明会被“托举”,所以可以在函数声明之前调用执行。
68.JavaScript中函数定义不指定参数的数据类型,JavaScript不会对传来的参数做数据类型检查,JavaScript不会检查传入参数的数量,所以当调用一个函数时,传给其的参数若和函数声明时参数的数量不相等,将不会产生影响,若传入的参数多于函数声明时传入的数量,则可以使用arguments对象获取值。
69."this"关键字在项目执行时就是指拥有当前这段代码的对象,当在函数中用时,就是指拥有这段方法的对象。
70.变量创建没有"var"关键字,该变量将会是全局变量,即使变量是在函数里定义。
71.在JavaScript中所有的函数都可以访问它本身属于那个作用域。
72.JavaScript中的闭包就是函数在父函数已经关闭了之后,依然可以访问父作用域,。

JavaScript知识点总结的更多相关文章

  1. JavaScript知识点整理(一)

    JavaScript知识点(一)包括 数据类型.表达式和运算符.语句.对象.数组. 一.数据类型 1) js中6种数据类型:弱类型特性 5种原始类型:number(数字).string(字符串).bo ...

  2. javascript知识点积累

    8年javascript知识点积累   08年毕业就开始接触javascript,当时是做asp.net发现很多功能用asp.net控件解决不了,比如checkbox单选,全选问题,自动计算总价问题, ...

  3. Javascript:必须知道的Javascript知识点之“单线程事件驱动”

    heiboard: Javascript:必须知道的Javascript知识点之“单线程事件驱动”

  4. Javascript知识点记录(三)设计模式

    Javascript设计模式记录,这个方面确实是没写过,工作中也没有用到js设计模式的地方. prototype与面向对象取舍 使用prototype原型继承和使用面向对象,都可以实现闭包的效果.那么 ...

  5. Javascript知识点记录(二)

    Javascript入门易,精通难,基本上是共识的一个观点.在这个篇幅里,主要对一些难点进行记录. 鸭子类型 Javascript属于动态类型语言的一种.对变量类型的宽容,给了很大的灵活性.由于无需类 ...

  6. 8年javascript知识点积累

    08年毕业就开始接触javascript,当时是做asp.net发现很多功能用asp.net控件解决不了,比如checkbox单选,全选问题,自动计算总价问题,刷新问题,等等.那时感觉javascri ...

  7. javascript知识点记录(1)

    javascript一些知识点记录 1.substring,slice,substr的用法 substring 和slice 都有startIndex 和 endIndex(不包括endInex),区 ...

  8. JavaScript知识点总结(命名规范,变量的作用域)

    命名规范 有人说JavaScript的宽容性是这个语言最糟糕的方面之一.比如说想把2个数字加在一起,JavaScript会把其中一个数字解析成字符串,那么就会得到一个奇怪的字符串,而不是2个数字的和. ...

  9. 这些Javascript知识点,面试和平时开发都需要

    No1.语法和类型 1.声明定义 变量类型:var,定义变量:let,定义块域(scope)本地变量:const,定义只读常量.    变量格式:以字母.下划线“_”或者$符号开头,大小写敏感.    ...

  10. JavaScript知识点

    Day 01 1.Javascript 概述 1.什么是Javascript (JS) Javascript 是一种运行于 JS解释器/引擎 中的解释型脚本语言 JS解释器/引擎 :JS运行环境 1. ...

随机推荐

  1. ipyparallel WordCount实现

            ipyparallel 之中,可以利用多个engine同时运行一个任务来加快处理的速度.在ipyparallel之中,集群被抽象为view,包括direct_view和balanced ...

  2. Mysql中常见索引操作

  3. Delphi基本图像处理方法汇总

    这篇文章主要介绍了Delphi基本图像处理方法,实例汇总了Delphi操作图像实现浮雕.反色.模糊.翻转等常用效果的方法,非常具有实用价值,需要的朋友可以参考下   本文实例汇总了Delphi基本图像 ...

  4. HDU-1102-Constructing Roads(并查集)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1102 这题大意就不讲了, 这题很容易,不过我做的很不爽,一个下午,一直WA,后来才发现数组开小了 只开 ...

  5. HTML 脚本

    JavaScript 使 HTML 页面具有更强的动态和交互性. 在线实例 插入一段脚本如何将脚本插入 HTML 文档. 使用 <noscript> 标签如何应对不支持脚本或禁用脚本的浏览 ...

  6. 在ASP.NET MVC3项目中,自定义404错误页面

    在Web开发中,用户体验是至关重要的,一个友好的网站自然少不了自定义404错误页面. 让笔者为大家介绍404错误页面在ASP.NET MVC3项目中的配置: 第一步,在项目的Web.config文件中 ...

  7. C# 定时器计划任务

    函数类: public class MyPlan { public void RunMyplan(object source, ElapsedEventArgs e) { //读取配置文件设定的日期时 ...

  8. HDU3790

    最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  9. linux 中用python实现终端命令行命令

    在python代码中实现和在终端中输入的命令行一样的效果,以命令(audacious -p &)为例,该代码实现用audacious在后台播放音乐的功能,当然前提是安装了audacious. ...

  10. HDU 2080 夹角有多大II

    夹角有多大II Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...