JavaScript知识点总结
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知识点总结的更多相关文章
- JavaScript知识点整理(一)
JavaScript知识点(一)包括 数据类型.表达式和运算符.语句.对象.数组. 一.数据类型 1) js中6种数据类型:弱类型特性 5种原始类型:number(数字).string(字符串).bo ...
- javascript知识点积累
8年javascript知识点积累 08年毕业就开始接触javascript,当时是做asp.net发现很多功能用asp.net控件解决不了,比如checkbox单选,全选问题,自动计算总价问题, ...
- Javascript:必须知道的Javascript知识点之“单线程事件驱动”
heiboard: Javascript:必须知道的Javascript知识点之“单线程事件驱动”
- Javascript知识点记录(三)设计模式
Javascript设计模式记录,这个方面确实是没写过,工作中也没有用到js设计模式的地方. prototype与面向对象取舍 使用prototype原型继承和使用面向对象,都可以实现闭包的效果.那么 ...
- Javascript知识点记录(二)
Javascript入门易,精通难,基本上是共识的一个观点.在这个篇幅里,主要对一些难点进行记录. 鸭子类型 Javascript属于动态类型语言的一种.对变量类型的宽容,给了很大的灵活性.由于无需类 ...
- 8年javascript知识点积累
08年毕业就开始接触javascript,当时是做asp.net发现很多功能用asp.net控件解决不了,比如checkbox单选,全选问题,自动计算总价问题,刷新问题,等等.那时感觉javascri ...
- javascript知识点记录(1)
javascript一些知识点记录 1.substring,slice,substr的用法 substring 和slice 都有startIndex 和 endIndex(不包括endInex),区 ...
- JavaScript知识点总结(命名规范,变量的作用域)
命名规范 有人说JavaScript的宽容性是这个语言最糟糕的方面之一.比如说想把2个数字加在一起,JavaScript会把其中一个数字解析成字符串,那么就会得到一个奇怪的字符串,而不是2个数字的和. ...
- 这些Javascript知识点,面试和平时开发都需要
No1.语法和类型 1.声明定义 变量类型:var,定义变量:let,定义块域(scope)本地变量:const,定义只读常量. 变量格式:以字母.下划线“_”或者$符号开头,大小写敏感. ...
- JavaScript知识点
Day 01 1.Javascript 概述 1.什么是Javascript (JS) Javascript 是一种运行于 JS解释器/引擎 中的解释型脚本语言 JS解释器/引擎 :JS运行环境 1. ...
随机推荐
- 环信 之 iOS 客户端集成一:导入库
1. 导入 我采用cocoapod的方式,在project同级目录下创建Podfile,Podfile内容如下: platform :ios, '7.0' pod 'EaseMobSDKFull', ...
- java 开发之linux 下 tomcat
tomcat作为java开发的服务器,可以部署在各种系统中. 官方下载地址:http://tomcat.apache.org/download-80.cgi 1. 装tomcat 之前,先要装jdk ...
- Eclipse 输入出错时自动查找类
经常会只记得类的前半部分名称,这时可以双击这个没写完的类名,然后会弹出选择框:
- python3 入门基础
1.查看python版本 python -V 2.指定python文件的编码格式 # -*- coding: utf-8 -*- 3.变量命名以字母和下划线(_)开始 _num num 4.注释 # ...
- CentOS6.5+mysql5.1源码安装过程
一:先安装依赖包(不然配置的时候会报错的!) yum -y install ncurses* libtermcap* gcc-c++* 新建mysql用户 [root@HE1Packages]# gr ...
- Java中多线程原理详解
Java是少数的集中支持多线程的语言之一,大多数的语言智能运行单独的一个程序块,无法同时运行不同的多个程序块,Java的多线程机制弥补了这个缺憾,它可以让不同的程序块一起运行,这样可以让程序运行更加顺 ...
- 必应地图api文档,微软必应地图web开发版详解,可以在国内使用国外地图
最近,公司项目要求在页面中嵌入地图,需求还算简单,但是由于必须具备响应式(主要是pc和移动端),而且由于公司业务是全球性的,要支持国外地点搜索.考虑到百度,腾讯,高德等等国内地图无法显示国外数据,谷歌 ...
- 如何让Docker容器随宿主机的启动而自动启动
使用Docker容器部署服务时,不仅需要让服务随Docker容器的启动而启动,还需要让Docker容器随宿主机的启动而自动启动,为此Docker提供了Docker run的restart参数 #doc ...
- android延迟执行
延迟执行可以通过以下操作实现,按照推荐的顺序列出来 1. new Handler().postDelayed(new Runnable(){ public void run() { //execut ...
- 进阶之初探nodeJS
一.前言 在"初探nodeJS"随笔中,我们对于node有了一个大致地了解,并在最后也通过一个示例,了解了如何快速地开启一个简单的服务器. 今儿,再次看了该篇随笔,发现该随笔理论知 ...