JavaScript Simple Explain and Use
Javascript 说明:
JavaScript 和 Java 之间几乎没有任何关系。
JavaScript原名为LiveScript,他的作用只是为了处理一些复杂的动态网页。
目前,JS是遵循ECMAScript(ES6)规定的。
JavaScript 在HTML5中导入方式:
1. 元素导入:
<body>
<button onclick="alert('hello')"> 点我</button>
</body>
2. 内部文档导入:
<head>
<script>
alert('hello');
</script>
</head>
3. 外部文档导入:
<head>
<script type="text/javascript" src="js/test.js">
</script>
</head>
JavaScript 在HTML5中3种提示框(输出方式)
1. alert()
<script>
alert('hello');
</script>
2. comfirm()
<script>
confirm('hello');
</script>
3. prompt()
<script>
prompt('hello');
</script>
浏览器控制台输出
1. console方式:
- console.log()
//控制台上输出
var obj=[{name:1,age:22},{name:1,age:22}];
console.log(obj);
- console.dir()
//控制台上输出,比log更详细
var obj=[{name:1,age:22},{name:1,age:22}];
console.dir(obj);
- console.table()
//控制台上输出,以表的形式展现
var obj=[{name:1,age:22},{name:1,age:22}];
console.table(obj);
** 结果:**
| name | age |
|---|---|
| 1 | 22 |
| 2 | 23 |
2. document方式:
<script>
// 向网页上面直接写
document.write('hello');
</script>
JavaScript 类型检查
typeof: 检测数据类型的运算符
typeof 1 => "number";
instanceof: 检测某个实例是否属于这个类
constructor: 获取当前实例的构造器
JavaScript 中function:
1. 自动执行函数
1. ~function(){}()
2. !function(){}()
3. +function(){}()
4. -function(){}()
这四种function()就是一种对函数 -->;(function(n){})(10) ===>自动执行(该function是集定义与执行传参为一体的函数),注意function名字前面有个分号
;该作用就是区分函数块的,否则在执行函数时,会有函数嵌套。上面这四种符号都是为了简化.
2. 普通函数
function A()
{
alert('test');
}
如果在调用的时候
A这样就只是会返回函数的地址,而A()则会执行A函数
3. this
1:
function fun(){
console.log(this) // this--> window
}
2:
var obj = {fn:fn}; first fn is attr,and second is function fn();
fn(); // this --> window
obj.fn(); // this --> obj
3:
function sum(){
fn(); // this --> window
}
注:
- this 指向的object 要看function 执行前面是否有
.:
- 如果前面没有
.:
- this 永远指向 window/根对象
- 如果有
.:
- this 指向
.之前的对象
- 自动执行函数中的this 永远指向window
this --> window
4.工厂模式
- 工厂模式:
function createPerson(name,age){
var obj = new Object() // 或者 var obj = {};
obj.name = name;
obj.age = age;
obj.print = function(){
document.write('name:' + obj.name + 'age:' + obj.age);
}
return obj;
}
var person = createPerson(name,age);
- 普通构造函数模式:
function Person(namme,age){
//默认创建实例返回
this.name = name;
this.age = age;
this.print = function(){
document.write('name:' + this.name + 'age:' + this.age);
}
}
注:
- 工厂模式,最重要的是在函数执行里 ,new了 一个对象,最后返回这个对象。
- 普通模式,不会返回任何东西
- JS 不存在重载,后者会覆盖前者
最后说下:
function test(){
.name = function(){ // 这里"." 作用是啥?
}
}
上面函数中
.点号的作用是啥?
JavaScript Simple Explain and Use的更多相关文章
- javascript simple MVC
<h3>javascript simple MVC</h3> <div> <select name="" id="setAnim ...
- JavaScript Simple
ylbtech-JavaScript: 1.返回顶部 1. 2. 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http: ...
- Memory leak patterns in JavaScript
Handling circular references in JavaScript applications Plugging memory leaks in JavaScript is easy ...
- 谈谈JavaScript MVC模式
第一个是:没有使用mvc模式的: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...
- JavaScript对象的创建之使用json格式定义
json: javascript simple object notation. json就是js的对象,但是它省去了xml中的标签,而是通过{}来完成对象的说明. 定义对象 var person = ...
- mysql中explain
1.select_type: /* select_type 使用 SIMPLE */explain select * from tb_shop_order where id='201603292570 ...
- 为Node.js编写组件的几种方式
本文主要备忘为Node.js编写组件的三种实现:纯js实现.v8 API实现(同步&异步).借助swig框架实现. 关键字:Node.js.C++.v8.swig.异步.回调. 简介 首先介绍 ...
- Cheatsheet: 2014 07.01 ~ 07.31
Web Maximize Compression with Zopfli Browser Detection with JavaScript Simple MySQL Master HA with m ...
- js 中使用工厂方法和构造器方法
1 直接创建对象 <!DOCTYPE html> <html> <head lang="en"> <meta charset=" ...
随机推荐
- go语言---defer
go语言---defer https://blog.csdn.net/cyk2396/article/details/78885135 defer 是在函数退出前调用,多个defer遵循 先进后出 的 ...
- 洛谷 P2296 寻找道路 —— bfs
题目:https://www.luogu.org/problemnew/show/P2296 第一次用 Emacs 对拍,写了半天: 注意那个 is 赋值的地方很容易错,千万别反复赋值: 一道水题写了 ...
- U74201 旅行计划 树上找链长度
题目背景 珂朵莉放假了,她打算去唐山旅行. 题目描述 我们简单地把唐山的共 nn 个景点看成是一棵树,有 n-1n−1 条边将它们连接起来,每个景点有一个游览指数 v_ivi.珂朵莉的假期时间不长, ...
- bzoj 1598: [Usaco2008 Mar]牛跑步【A*K短路】
A*K短路模板,详见https://blog.csdn.net/z_mendez/article/details/47057461 算法流程: 把有向图全建成反向边,跑一遍所有点到t的最短路记为dis ...
- Left Join 时筛选条件在on后与where后的区别
a left join b 时限制条件在on后, 相当于先筛选右连接表b的数据后,再进行数据连接.形成最终的集合. 这时不影响a表中相关字段的显示. SELECT T001W~WERKS, LGOR ...
- vim 跳行查看日志
VIM 跳跃行号 一.显示行号 在命令模式下输入 :set nu 或者 :set number 即可显示行号 二.跳跃行号 在编辑模式下输入 ngg 或者 nG [n为指定的行数(如25)] ...
- taro.js & dva 脚手架搭建及常见问题
## taro.js & dva 脚手架 ### 启动 npm install -g @tarojs/cli // 全局安装taro-cli npm i npm run dev:weapp / ...
- ASP.NET MVC5 之 分部页
1.分部页 _PartialPage.cshtml @model List<string> <a>完美世界</a> @foreach (var item in Mo ...
- Hdu 4612 Warm up (双连通分支+树的直径)
题目链接: Hdu 4612 Warm up 题目描述: 给一个无向连通图,问加上一条边后,桥的数目最少会有几个? 解题思路: 题目描述很清楚,题目也很裸,就是一眼看穿怎么做的,先求出来双连通分量,然 ...
- C#与C++的区别(二)
这几天深入学习C#的面向对象的内容,发现C#的很多用法跟C++比起来还是有很多的不同点,头脑中知识的海洋刮起了阵阵海浪,在此继续整理一下二者的不同点,主要还是写的C#能用,而在C++中不能用的一些知识 ...