javascript基础:语法与html结合方式
一、基本语法:
1、与html结合方式
1、内部JS:
* 定义<script>,标签体内容就是JS代码
2、外部JS:
* 定义<script>,通过src属性引入外部的js文件
* 注意:
1、<script>可以定义在html页面的任何地方,但是定义的位置会影响执行顺序
2、<script>可以定义多个
<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title> <script>
alert("flypig666")
</script> <script src="js/a.js"></script> </head> <body>
<input type="text">
<!-- <script>
alert("flypig666")
</script> -->
</body> </html>
2、注释
单行注释://注释内容
多行注释:/*注释内容*/
3、数据类型
1、原始数据类型(基本数据类型)
1、number:数字 。 整数/小数/NAN(not a number 一个不是数字的数字类型)
2、string:字符串。 字符/字符串:"abc"、"a"、'abc'(单引和双引都可以)
3、boolean:true false
4、null:一个对象为空的占位符
5、undefined:未定义。如果一个变脸没有给初始化值,则会被默认赋值为undefined
* typeof(变量名):可以得出该变量类型
1==number
1.2==number
NaN==number
abc==string
edf==string
true==boolean
null==object
undefined==undefined
undefined==undefined
<script>
// 定义变量
// var a = 6;
// alert(a); // a = "abc";
// alert(a) //定义number类型
var num = 1
var num2 = 1.2
var num3 = NaN // 输出到页面上
document.write(num+"<br>")
document.write(num2+"<br>")
document.write(num3+"<br>") //定义String类型
var str = "abc"
var str2 = "edf"
document.write(str + "<br>")
document.write(str2 + "<br>") //定义boolean
var flag = true;
document.write(flag + "<br>") //定义null
var obj = null
var obj2 = undefined
var obj3
document.write(obj + "<br>")
document.write(obj2 + "<br>")
document.write(obj3 + "<br>")
</script>
2、引用数据类型:对象
4、变量
* 变量:一小块存储数据的内存空间
* Java语言是强类型语言,而javascript是弱类型语言
* 强类型:在开辟变量存储空间时,定义了空间将来存储的数据的数据类型,只能存储固定类型的数据
* 弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据
* 语法:
* var 变量名 = 初始化值
* typeof运算符:获取变量的类型
* 注:null运算后得到的是object
5、运算符
1、一元运算符:只有一个运算数的运算符
++ --, +(正号)
<script>
/*
注意:在js中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换
* 其他类型转number:
* string转number:按照字面值进行转换,如果字面值不是数字,则转为NaN(不是数字的数字)
* boolean转number:true转为1,false转为0
*/
var num = 4
var a = ++num
document.write(num + "<br>")
document.write(a)
document.write("<hr>") var b = +"123abc"
// alert(typeof(b))
// alert(b + 1)
document.write(typeof(b))
document.write(b + 1)
document.write("<hr>") var flag = +true
var flag2 = +false
document.write(typeof (flag) + "<br>")
document.write(flag + "<br>")
document.write(flag2 + "<br>") </script>
2、 算法运算符
+ - * / %
3、赋值运算符
= += -+ 。。。
4、比较运算符
> < >= <= == ===(全等于)
<script>
/**
* 比较运算符:
* 比较方式
* 1、类型相同:直接比较
* * 字符串:按照字典顺序进行比较。按位逐一比较,直到得出大小为止
* 2、类型不同:先进行类型转换,再进行比较
* * ===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false
*
*/ document.write(3 > 4 + "<br>") document.write("dbc" > "acd" + "<br>") document.write(("123" == 123) + "<br>") // 全等
document.write(("123" === 123) + "<br>")
</script>
5、逻辑运算符
&& || !
<script>
/**
* 逻辑运算符:
* &&:与(短路)一边为false则为false
* ||:或(短路)一边为true则为true
* !:非
* * 其他类型转boolean:
* 1、number:0或NaN为假,其他为真
* 2、string:除了空字符串(""),其他都是true
* 3、null&undefined:都是false
* 4、对象:所有对象都为true
*
*/ var flag = true
document.write(flag + "<br>")
document.write(!flag + "<br>") document.write("<hr>") //1、number
var num = 3
var num2 = 0
var num3 = NaN
document.write(!!num + "<br>")
document.write(!!num2 + "<br>")
document.write(!!num3 + "<br>")
document.write("<hr>") //2、string
var str1 = "abc"
var str2 = ""
document.write(!!str1 + "<br>")
document.write(!!str2 + "<br>")
document.write("<hr>") //3、null & undefined
var obj = null
var obj2
document.write(!!obj + "<br>")
document.write(!!obj2 + "<br>")
document.write("<hr>") //4、对象
var date = new Date
document.write(!!date + "<br>")
document.write("<hr>") var obj = "123"
if(obj != null && obj.length > 0){
//防止空指针异常
alert(123)
} //js中可以这样定义来简化书写
if(obj){
//防止空指针异常
alert(11)
}
</script>
6、三元运算符
? :
<script>
var a = 3
var b = 4
var c = a > b ? 1: 0
alert(c)
</script>
6、流程控制语句
1、if.....else.....
2、switch
* 在java中,switch语句可以接受的数据类型:byte int short char,枚举(1.5),String(1.7)
* switch(变量):
case 值:
* 在javascript中,switch语句可以接受任意原始数据类型
<script>
var a = undefined;
switch (a){
case 1:
alert("number");
break;
case "abc":
alert("string");
break;
case true:
alert("true");
break;
case null:
alert("null");
break;
case undefined:
alert("undefined");
break;
} </script>
3、while
4、do.....while
5、for
7、js特殊语法:
<script>
//1、 语句以分号;结尾,如果一行只有一条语句则 ;可以省略(不建议)
var a = 3
alert(a) /*
2、变量的定义使用var关键字,也可以不使用
* 用var:定义的变量是局部变量
* 不用var: 定义的变量是全局变量
*/
// 定义全局变量
var b
// alert(b) function fun(){
b = 6
alert(b) }
fun()
alert("只是b:" + b) </script>
8、对象
* Function对象:函数对象
//1.创建方式1
var fun1 = new Function("a","b","c","alert(a);")
//调用方法
//fun1(3,4)
//alert(fun1.length) //2、创建方式2
function fun2(a, b){
alert(a + b);
}
//fun2(3,4)
//alert(fun2.length) //3、创建方式3
var fun3 = function(a,b){
alert(a+b)
}
//fun3(3,4)
//alert(fun3.length) fun2 = function(a,b){
//alert(a-b)
alert(a)
}
//fun2(4,1) //方法调用
//fun2(1,2)
//fun2(3) /*
求两个数的和 */
function add(a, b){
return a + b;
}
var sum = add(1,2)
//alert(sum) //求任意个数的和
function add2(){
// alert(arguments[0]);
// alert(arguments[1]);
// alert(arguments[2]);
var sum = 0;
for(var i = 0; i < arguments.length; i++){
sum += arguments[i];
}
alert(sum)
} add2(1,2,4,5)
* Array
// 1、创建方式1
var arr1 = new Array(1,2,4);
var arr2 = new Array(5);
var arr3 = [1,23,4];
var arr4 = new Array() document.write(arr1 + "<br>")
document.write(arr2 + "<br>")
document.write(arr3 + "<br>")
document.write(arr4 + "<br>") var arr = [1,"abc",true];
document.write(arr[0] + "<br>")
document.write(arr[1] + "<br>")
document.write(arr[2] + "<br>") arr[10] = "hehe"
document.write(arr[10] + "<br>")
document.write(arr[9] + "<br>")
alert(arr.length)
//拼接为字符串
//1、join("")
document.write(arr.join("===")+"<br>")
//2、push()
arr.push(666)
document.write(arr.join("==")+"<br>")
* Boolean
* Date
/*
Date: 日期对象
1、创建:
var date = new Date()
2、方法:
toLocalString():返回当前date对象对应的时间本地字符串格式
getTime(): 获取毫秒值,返回当前日期对象描述的时间到1970年1月1日零点的毫秒值差 */ var date = new Date();
document.write(date + "<br>")
document.write(date.toLocaleString() + "<br>")
document.write(date.getTime() + "<br>")
* Math
/**
* Math: 数学
* 1、创建
* * 特点:Math对象不用创建,直接使用 Math.方法名()
* 2、方法:
* random(): 返回0-1之间的一个随机数(含0不含1)
* ceil(x) 对数进行上舍入
* floor(x) 对数进行下舍入
* round(x) 把数四舍五入为最接近的整数
* 3、属性:
* PI
*
*/ document.write(Math.PI + "<br>");
document.write(Math.random() + "<br>");
document.write(Math.ceil(3.14) + "<br>");
document.write(Math.floor(3.14) + "<br>");
document.write(Math.round(3.14) + "<br>"); /**
* 去1-100之间的随机整数
* 1、Math.random()产生随机数: 范围(0,1]小数
* 2、乘以 100 --> [0,99.9999] 小数
* 3、舍弃小数部分 floor ---> [0,99]整数
* 4、 +1 -->[0,99]整数 [1,100]
*
*/ var number = Math.floor((Math.random() * 100)) + 1;
document.write(number);
* Number
* String
* RegExp
1、正则表达式:定义字符串的组成规则
1、单个字符:[ ]
如: 【a】【ab】 【a-z】【0-9】
* 特殊符号代表特殊含义的单个字符:
\d: 单个数字字符 [0-9]
\w: 单个单词字符 [a-z A-Z 0-9_]
2、量词符号:
* :表示出现0次或多次
?:表示出现0次或1次
+:出现一次或多次
{m,n}:表示范围在m-n之间
* m如果缺省:{,n}:最多n次
* n如果缺省:{m,}:最少m次
3、开始结束符号
* ^:开始
* $:结束
2、正则对象:
1、创建
1、var reg = new RegExp("正则表达式")
2、var reg = /正则表达式/
2、方法
test(参数):验证指定的字符串是否符合正则定义的规范
<script>
var reg = new RegExp("^\\w{6,12}"); var reg2 = /^\w{6,12}$/; var username = "flypig" //验证
var flag = reg.test(username)
alert(flag) </script>
* Global:
1、特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。 方法名()
2、方法:
encodeURI():url编码
decodeURI():url解码
encodeURIComponent():url编码(编码的字符更多)
decodeURIComponent():url解码
parseInt():将字符串转为数字
* 逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
isNaN():判断一个值是否为NaN-------------NaN参与的==比较全部为false
eval():将 Javascript 字符串,并把它作为脚本代码进行执行
<script>
var str = "大飞猪"
var encode = encodeURI(str);
document.write(encode + "<br>")
var s = decodeURI(encode)
document.write(s + "<br>") var str = "123c1e"
var number = parseInt(str)
//alert(number + 1) var a = "abc"
document.write(a == NaN)
document.write(isNaN(a)) var jscode = "alert(123)" eval(jscode) </script>
javascript基础:语法与html结合方式的更多相关文章
- javascript基础语法——表达式
× 目录 [1]原始表达式 [2]复杂表达式 前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascr ...
- javascript基础语法——词法结构
× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...
- Unit04: JavaScript 概述 、 JavaScript 基础语法 、 流程控制
Unit04: JavaScript 概述 . JavaScript 基础语法 . 流程控制 my.js function f3() { alert("唐胜伟"); } demo1 ...
- javascript基础语法备忘录-变量和数据类型
//javascript基础语法备忘录-变量和数据类型 // 定义变量使用var关键字 后面跟变量名,不要使用eval 和arguments为变量名 var message = "hi&qu ...
- JavaScript基础语法资料
JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...
- Nice!JavaScript基础语法知识都在这儿了
好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star 转载请注明出处! 链接:https://blog.csdn ...
- JavaScript 基础语法
1 谈谈 JavaScript JavaScript,通常会简称为'JS', 是一种浏览器脚本语言 1.1 JavaScript 编程语言特点 JavaScript是一种脚本编程语言 JavaScri ...
- javaScript基础语法(上)
相关理论概念: 直接量的概念:直接描述某个(些)存储空间的值的量,如变量的值.对象的值.数组的值. 数据类型:在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作. 1.变量的声明和使用 变 ...
- JavaScript基础语法
首先,JavaScript的基本语法是以名为ECMAScript的伪语言定义的,理解ECMAScript的细节就是理解它在浏览器中实现的关键,目前大多数浏览器都遵循了ECMAScript第3版的,但是 ...
- 2021年3月-第03阶段-前端基础-JavaScript基础语法-JavaScript基础第01天
1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌 ...
随机推荐
- SQLAlchemy的out join
我有一个app表,一个usergroup表,还有一个app_access_map表.用以实现对app访问的白名单控制. app和usergroup是多对多关系,app_access_map是中间表,不 ...
- 【转载】gdb基本命令总结
本文介绍使用gdb调试程序的常用命令. 主要内容: [简介] [举例] [其他] [简介] ============= GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.如果你是在 U ...
- CSS3如何实现圆圈转圈,附demo
如图,如何实现圆圈转圈? 主要还是CSS3动画(只兼容了谷歌,需要兼容其它浏览器,加前缀即可) .move1 { animation: myMove1 5s ease-in infinite alte ...
- 深入浅出 Java Concurrency (27): 并发容器 part 12 线程安全的List/Set[转]
本小节是<并发容器>的最后一部分,这一个小节描述的是针对List/Set接口的一个线程版本. 在<并发队列与Queue简介>中介绍了并发容器的一个概括,主要描述的是Queue的 ...
- HOOK NtCreateSection
本程序使用了hde32反汇编引擎,所以性能更加稳定! #pragma once #include <ntddk.h> NTSYSAPI NTSTATUS NTAPI NtCreateSec ...
- opencv-图像类型、深度、通道
转自:图像类型 与 opencv中图像基础(大小,深度,通道) 一.图像基本类型 在计算机中,按照颜色和灰度的多少可以将图像分为四种基本类型. 1. 二值图像 2. 灰度图像 3. 索引图像 4 ...
- mongdb 使用聚合函数异常
异常信息: Command execution failed: Error [The 'cursor' option is required, except for aggregate with t ...
- 简单数论 | Day3 部分题解
A - The Euler function 来源:HDU 2824 计算[a,b]区间内的整数的欧拉函数值,需要掌握单个欧拉函数和函数表的使用. #include <iostream> ...
- spring boot 中 rabbit mq基础例子
1.先安装ELANG,再按照RabbitMQ 2.打开RabbitMQ控制台:rabbit command prompt 1.设置elang的路径:set ERLANG_HOME=D:\work_pr ...
- python 将值相同的key分组的方法
方法一: 使用 itertools.groupby() rows = [ {'address': '5412 N CLARK ', 'date ': '07/12/2012 ’ }, {'addres ...