博客
关于我
零基础入门JavaScript 这一篇笔记就够了
阅读量:317 次
发布时间:2019-03-04

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

写给自己的笔记


js简介

javascript是基于对象模型和事件驱动的脚本语言,可以嵌入html中。
注意:js也是弱类型语言

特点:(1)交互性
(2)安全性:js不能访问本地磁盘
(3)跨平台性:所有的浏览器都内置js解析器

js作用:
(1)可用动态修改(增删)html及css的代码
(2)js可以动态的校验数据

js组成: ECMAScript BOM(浏览器对象模型) DOM(文档对象模型)

js的引入方式

(1)内嵌脚本<body>	<input type="button" value="button" onclick="alert('x')" /></body>(2)内部脚本<html><head>	<title></title><script type="text/javascript">	document.getElementById("btn").onclick=function(){   		alert("xxx");	};</script></head><body>	<input id="btn" type="button" value="button" /></body></html>(3)外部脚本先创建一个.js文件,将js短代码写在其中,在html中使用script标签进行引入。my.js:window.onload=function(){   	document.getElementById("btn").onclick=function(){   		alert("xxx");	};};lab.html:<!DOCTYPE h tml><html><head>	<title></title>	<script type="text/javascript" src="my.js"></script></head><body>	<input id="btn" type="button" value="button" /></body></html>

js基本语法

1、变量:var定义var x;2、原始类型number:数字类型string:字符串类型boolean:布尔类型undefined:未定义null:空类型unfined+1 = NaNnull+1 = 1字符串string可以访问length	<script type="text/javascript">		alert('hello world'.length);	</script>类型转换:number和boolean转成string:x.toString();	  String(x);  +号拼接string转成number:parseInt(x);  parseFloat(x);  Number(x);  利用加减乘除进行隐式转换强转boolean:Boolean(value)3、引用类型var obj = new Object();4、js运算符(1)赋值运算符	var x=5;(2)判断运算符	<><=>=!======(3)算术运算符		加号:如果一个加数是字符串,进行字符串拼接	其他:如果是字符串数字在进行类似减法运算时,先把字符串转换成数字然后在运算(4)逻辑运算符	(5)void运算符	<a href="javascript:void(0);">dianji</a>(6)类型运算符	typeof判断数据类型、instanceof预测5、isNaN(var):判断var是不是数字类型,是的话返回false,否则返回true6、转义字符同C语言7、js逻辑语句ifif elseif elseif elseswitch casefor (index in count){   }for (var i=1; i<=5; i++){   }	<script type="text/javascript">		switch(表达式) {   			case value1:				执行语句1;				break;			case value2:				执行语句2;				break;			default:				执行最后的语句;		}	</script>8、注意:js没有块级作用域9、js引擎运行js分两步:预解析、代码执行预解析:js引擎把js里面所有的varfunction提升到当前作用域最前面代码执行:按照代码书写顺序从上到下执行预解析分为变量预解析(变量提升)和函数预解析(函数提升)变量提升:把所有的变量声明提升到当前的作用域最前面,不提升赋值操作函数提升:把所有的函数声明提升到当前作用域的最前面

输入输出语句

	<script type="text/javascript">		//弹出输入框		prompt('prompt');		//弹出警示框		alert('alert');		//console 控制台输出		console.log('console');	</script>

输入变量并弹框

	<script type="text/javascript">		var str = prompt('input: ');		alert(str);	</script>

数组

<script type="text/javascript">	//利用数组对象创建	var arr = new Array();	//利用数组字面量创建	var arr1 = [1,2,3,'hello'];	var len = arr1.length;</script>
<script type="text/javascript">	var arr = [1,2,3,4,5];	console.log(arr);	arr.length = 6;	console.log(arr);	arr[5] = 6;	console.log(arr);</script>

js内置对象

1、Number对象创建方式:var myNum=new Number(value);		 var myNum=Number(value);常用方法:toString():把数字转成字符串		 valueOf():返回一个Number对象的数值2、Boolean对象创建方式:var bool=new Boolean(value);		 var bool=Boolean(value);常用方法:toString():转成字符串		 valueOf():返回Boolean对象的数值3、String对象创建方式:var str=new String(s);		 var str=String(s);属性:length常用方法:indexOf:检索字符串		 lastIndexOf():从后向前搜索字符串		 split():把字符串分割为字符串数组		 substring():提取字符串中两个指定索引之间的字符(左闭右开)		 substr():从起始索引字符串提取字符串中指定数目的字符4、Date对象创建方式:var date=new Date();	data对象自动把当前日期和时间保存为其初始值(毫秒)常见方法:getFullYear():以四位数字返回年份		 getMonth():返回月份		 getDate():获取日		 getDay():返回一周中的某一天5、Math对象没有构造函数。可以像调用java中的静态方法一样调用常见方法:略6、RegExp对象创建方式:var reg=new RegExp(pattern);		 var reg=/pattern/;常用方法:正则表达式.test(待校验的字符串)7、Array对象创建方式:var arr=new Array();		 var arr=new Array(size);		 var arr=new Array(element0, element1....);		 var arr=[element0, element1....];属性:length:数组的长度常用方法:join():把数组的元素通过指定字符分隔的形式放入一个字符串中		 pop():删除并返回数组最后一个元素		 reverse():反转

js的函数

1、自定义函数(1)普遍函数function 函数名称(参数列表){   函数体}	示例	<script type="text/javascript">		function func(){   			return [1,2,3,4,5];		}		console.log(func());	</script>	(2)匿名函数var method=function(参数列表){   函数体}(3)对象函数new Fuction("参数1", "参数2", ..."函数体");var method=new Function("str", "alert(str)");method("hello");2、全局函数(需要时查)3、arguments使用	<script type="text/javascript">		function func(){   			console.log(arguments);			console.log(arguments.length);			for (var i=0; i<arguments.length; i++){   				console.log(arguments[i]);			}		}		func(1,2,3,4,5,6);	</script>

创建对象、构造函数

利用对象字面量创建对象<script type="text/javascript">	var obj = {   		name: 'name1',		age: 18,		sayHi: function() {   			console.log('hi~');		}	}	console.log(obj.name);	console.log(obj['age']);	obj.sayHi();</script>利用new Object创建对象<script type="text/javascript">	var obj = new Object();//创建空对象	obj.name = 'name1';	obj.age = 18;	obj.sayHi = function(){   		console.log('hi~');	}	console.log(obj.name);	console.log(obj.age);	obj.sayHi();</script>构造函数<script type="text/javascript">	用法	function 构造函数名() {   		this.属性 = value;		this.方法 = function() {   		}	}	new 构造函数名();		function Stu(_name, _age){   		this.name = _name;		this.age = _age;		this.sayHi = function(sentence){   			console.log(sentence);		}	}	var stu = new Stu('name', 18);</script>

补充
javascript对变量分配空间的规则和c不同
简单数据类型直接在栈中分配空间
复杂数据类型在堆区分配空间,在栈中保留一个指向堆区的地址

简单数据类型传参调用按值传递
复杂数据类型传参调用按地址传递,

js的事件

1、常用事件onchange事件、onfocus事件onmouseover事件、onload事件、onclick2、事件与事件源的绑定方式(1)事件与相应行为与事件源绑定<input type="button" value="button" onclick="alert('x')" />(2)事件与事件源绑定 相应行为使用函数封装<script type="text/javascript">	function method(str){   		alert(str);	}</script><body>	<input type="button" value="button" onclick=method("hello") /></body>this关键字:代表本事件源对象<body>	<input type="button" value="button" onclick=method(this) /></body><script type="text/javascript">	function method(obj){   		alert(obj.type);	}</script>(3)事件、相应行为、事件源完全分离<body>	<input id="myinput" type="button" value="button" /></body><script type="text/javascript">	var inputObj=document.getElementById("myinput");	inputObj.onclick=function(){   		alert("hello");	}</script>3、阻止事件的默认行为W3C标准:e.preventDefault();IE标准:window.event.returnValue=false;<body>	<a href="http://www.baidu.com" onclick="prevernt(event)">跳转到百度</a></body><script type="text/javascript">	function.prevent(e){   		e.preventDefault();	}</script>

js的Browser对象

browser对象包括了Window、Navigator、Screen、History、Location、存储。

用的时候查文档,这里只记录几个简单的。

1、window对象(1)弹框方法:提示框:alert(确认信息)确认框:confirm(确认信息)输入框:prompt(输入提示信息)(2)open方法作用是在js中使用此方法打开新页面(3)定时器方法:指定的延时时间后执行一定行为setTimeout(毫秒值, 函数对象)setInterval(函数对象, 毫秒值)2、location对象Location 对象包含有关当前 URL 的信息。location.href="url路径"; 3、history对象history.back():返回上一页history.forward():进入下一页history.go():跳转到哪一页

js的DOM对象

用的时候查文档,这里只记录几个简单的。

document.getElementById("id属性值");document.getElementsByTagName("标签名称");innerHTML:获取某个元素中的html代码

转载地址:http://mpnh.baihongyu.com/

你可能感兴趣的文章
数字化助力金融科技,实现产业良性循环
查看>>
2020-11-18(失败的一天)
查看>>
2020-11-23(彻底理解KMP)
查看>>
DMB DSB ISB 简介
查看>>
常用的IDC函数
查看>>
BUUCTF 新年快乐 内涵的软件 Java逆向解密 刮开有奖
查看>>
虎符杯——虚拟机逆向
查看>>
angr学习笔记(7)(malloc地址单元符号化)
查看>>
angr学习笔记(9)(添加约束)
查看>>
angr学习笔记(13)(static_binary)
查看>>
windows环境利用start命令实现微信多开
查看>>
「CF149D」括号涂色 区间DP好题
查看>>
树状数组 模板总结
查看>>
「NOI2015」程序自动分析 并查集题解
查看>>
[JSOI2008]Blue Mary的战役地图 Hash题解
查看>>
Ubuntu修改终端上显示的用户名和主机名(详细步骤)
查看>>
教你写一手漂亮的伪代码(详细规则&简单实例)
查看>>
MySQL的基本体系和架构介绍
查看>>
MySQL数据备份实践和整理
查看>>
结构型设计在工作中的一些经验总结
查看>>