Javascript笔记
文章目录
简介
-
软件结构
- C/S结构
Client+Server 客户端+服务器
使用前需要在电脑上安装特定的客户端
优点:可以在本地执行一些运算处理
缺点:安装很多客户端会占用很多资源- B/S结构
Browser+Server 浏览器+服务器
只需安装一个浏览器,通过网址访问不同的服务器
优点:不需要安装特定的客户端
缺点:多数的处理都交给了服务器,服务器的压力会增大
JavaScripe
脚本语言,解释执行,不需要编译
- 作用:
- 响应客户端键盘鼠标的时间
- 客户端页面表单数据验证
- 使用JavaScript动态改变页面样式
js用法笔记
- 可以在文本字符串中使用反斜杠对代码行进行换行。下面的例子会正确地显示(只是在代码上换行,显示效果是没有换行的):
document.write("你好世界!");
-
JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型
var x; // x 为 undefined var x = 5; // 现在 x 为数字 var x = "John"; // 现在 x 为字符串
-
字符串可以是引号中的任意文本。您可以使用单引号或双引号
-
您可以在字符串中使用引号,只要不匹配包围字符串的引号即可
var answer="It's alright"; var answer="He is called 'Johnny'"; var answer='He is called "Johnny"';
-
极大或极小的数字可以通过科学(指数)计数法来书写
var y=123e5; // 12300000 var z=123e-5; // 0.00123
-
js里的变量也有局部和全局之分
-
你可以在字符串中使用引号,字符串中的引号不要与字符串的引号相同
你也可以在字符串添加转义字符来使用引号var x = 'It\'s alright'; var y = "He is called \"Johnny\"";
-
=== 为绝对相等,即数据类型与值都必须相等。
var x = "John"; var y = new String("John"); (x === y) // 结果为 false,因为 x 是字符串,y 是对象
-
function也是一种数据类型
-
constructor 属性返回所有 JavaScript 变量的构造函数。
"John".constructor // 返回函数 String() { [native code] } (3.14).constructor // 返回函数 Number() { [native code] } false.constructor // 返回函数 Boolean() { [native code] } [1,2,3,4].constructor // 返回函数 Array() { [native code] } {name:'John', age:34}.constructor // 返回函数 Object() { [native code] } new Date().constructor // 返回函数 Date() { [native code] } function () {}.constructor // 返回函数 Function(){ [native code] }
-
JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。
JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。
变量提升:函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部。 -
JavaScript 只有声明的变量会提升,初始化的不会。
-
"严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经支持它,许多大项目已经开始全面拥抱它。
-
同样的代码,在"严格模式"中,可能会有不一样的运行结果;一些在"正常模式"下可以运行的语句,在"严格模式"下将不能运行。
-
严格模式的限制
- 不允许使用未声明的变量
- 不允许删除变量或对象
- 不允许删除函数
- 不允许变量重名
- 不允许使用八进制
- 不允许使用转义字符
- 不允许对只读属性赋值
- 不允许对一个使用getter方法读取的属性进行赋值
- 不允许删除一个不允许删除的属性
- 变量名不能使用 “eval” 字符串
- 变量名不能使用 “arguments” 字符串
- 不允许使用以下这种语句
- 由于一些安全原因,在作用域 eval() 创建的变量不能被调用
- 禁止this关键字指向全局对象
- 因此,使用构造函数时,如果忘了加new,this不再指向全局对象,而是报错
-
如果是一个不完整的语句,JavaScript 将尝试读取第二行的语句;但是由于这样的语句是完整的:```
return -
面向对象语言中 this 表示当前对象的一个引用。
但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。- 在方法中,this 表示该方法所属的对象。
- 如果单独使用,this 表示全局对象。
- 在函数中,this 表示全局对象。
- 在函数中,在严格模式下,this 是未定义的(undefined)。
- 在事件中,this 表示接收事件的元素。
- 类似 call() 和 apply() 方法可以将 this 引用到任何对象。
JavaScript JSON
JSON 是用于存储和传输数据的格式。
JSON 通常用于服务端向网页传递数据 。
什么是JSON?
-
JSON 英文全称 JavaScript Object Notation
-
JSON 是一种轻量级的数据交换格式。
-
JSON是独立的语言
JSON 使用 JavaScript 语法,但是 JSON 格式仅仅是一个文本。
文本可以被任何编程语言读取及作为数据格式传递。 -
JSON 易于理解。