JavaScript基础知识(8)

【ACM】JavaScript Node、JavaScript V8简单测试 如有错误欢迎指正与讨论,有详细的学习链接也欢迎分享。 阅读详情
回顾:正则表达式
 []:备选字符集,只能多选一。一个[]只能匹配一位字符
 比如:我[去草]:我去 我草

 []内:
 开头^:除了xx都行    [0123456789]-->[^47]
 -:表示备选字符的范围: [a-z] [0-9] [A-Z]

 预定义字符集:
 [0-9] -->\d
 [a-zA-Z_]  -->\w
 \s:空字符:\n \t 空格

 量词:修饰前一位字符出现的次数
 {min,max}:最少min个,最多max个
 {min,}:最少min个,最多不限制
 {num}:固定num个长度


 验证座机号:
 010-82838283
 0311-12345678
 0311-1234567      //注:如果遇到问题输入回车或者空格
 匹配:\d{3,4}-\d{7,8}     


 正课:
 特殊的数量词:+  *  ?

 ?:可有可无,如果有,最多只能出现一次,
 例:
 我了?去   表示“了”可有可无,但是只能验证“我去”和“我了去”,不能
 验证“我了了去”
 *:可有可无,不限制个数
 +:至少出现一次,不限制次数


 ():分组:为了改变模式的匹配顺序

 例:身份证:匹配15位到18位的身份证\d{15}(\d{2}[0-9xX])?

 匹配手机号:(\+86)?(\s)*1[3578]\d{9}
 +86  13312345678

 今后如果正文中出现+*?,都要用\转义


 ^:放在整个正则表达式的开头,表示以xxx开始
 $:放在整个正则表达式的结尾,表示以xxx结束
 ?=:预判,判断在前一个字符之后,必须紧跟xxx
 ?!:预判,判断在前一个字符之后,必须不能跟xxx

 课堂练习:
 验证中文姓名:[\u4e00-\u9fa5]{2,6}
 验证邮箱:zhangdong@tarena.com.cn   表达式\w+@\w+([-]\w+)*(\.\w+)+
 其中\w+([-]\w+)*是一个以上的字母,后可跟“-字母”,可有可无,专门用
 来匹配域名,“.字母”组合至少出现1次


 RegExp对象:专门封装一条正则表达式,提供使用正则表达式的常用API
 如何使用RegExp对象:1.创建;2.调用API

 如何创建正则表达式对象:var regExp=/正则表达式/ig;
 var regExp=/no/ig   

 RegExp对象的方法(API):
 验证:var boolean=regExp.test("被检查的字符串")
 如果验证通过:返回true;否则返回false

 验证 vs 查找:
 验证要求完整匹配,查找要求部分匹配

 var regExp=/\w+@\w+([-]\w+)*(\.\w+)+/;
 while(true){
 var input=prompt("输入邮箱:");
  if(regExp.test(input)){
    document.write("注册成功");
    break;
   }else{
     alert("邮箱格式有误");
    }
 }

 //zhangdong@zhangdong@tarena.com.cn为什么test可以通过呢?那是因为
 test方法默认只要找到,都会返回true,不管在什么位置。怎么样让test方法
 完整匹配呢?在正则表达式前加^,后加$,今后验证都要加上

 上例改进方法:
 var regExp=/^\w+@\w+([-]\w+)*(\.\w+)+$/;
 while(true){
 var input=prompt("输入邮箱:");
  if(regExp.test(input)){
    document.write("注册成功");
    break;
   }else{
     alert("邮箱格式有误");
    }
 }


 查找:exec既能查找关键字的位置,又能找到关键字的内容

 indexOf不支持正则,search支持正则,每次只能找1个
 match得到所有内容,但是得不到位置

 regExp.exec("被查找的内容")
 arr[0]:里面保存的是关键字的内容,查找时会自动保存,每次查找后都会保
 存在第0个位置,之前查找的如果不保存就会丢失
 arr.index属性:找到的关键字的位置
 exec方法每次只能找到1个,但是每次自动修改regExp对象的lastIndex属性。
 regExp对象的lastIndex属性:表示下次开始匹配的位置

 竖线“|”在正则表达式中表示“或”

 exec找到头没了的时候,会返回null,这也是循环的条件

 例:
 var str="明明喜欢我,却不告诉我;别理我,我想静静;静静是谁?你TM先
 告诉我明明是谁?";
 var regExp=/明明|静静/g;      //一般查找都要加g全局
 var arr=[];
 while((arr=regExp.exec(str))!=null){
 //arr[0]关键字的内容;arr.index关键字的位置
 document.write("在位置"+arr.index+"发现"+arr[0]+"<br/>");
 }


 关于查找:
 如果仅判断有没有,或者仅查找位置:indexOf
 如果仅判断有没有,或者仅查找位置,支持正则表达式:search()
 如果仅找所有关键字的内容:match()
 如果既找位置,又找内容:exec()


 compile():编译,环境自己调用的

 /正则表达式/:一般可应付绝大多数的环境或需求,但是根据用户需求在运行
 时动态变化则用下面的var regExp=new RegExp("\\d{6}"); 动态创建正则表
 达式,强调:字符串中所有的斜线都要用双斜线

 例:
 var regExp=/^\w+@\w+([-]\w+)*(\.\w+)+$/;
 动态创建表达式如下:
 var regExp=new RegExp("^\\w+@\\w+([-]\\w+)*(\\.\\w+)+$");

 贪婪模式:.+  .*,这两种,默认是先匹配整个字符串,再缩小范围
 懒惰模式:(.+?) (.*?),两种,从第一个字符开始,向后扩展范围
 .是匹配任意字符


 例:获取一段HTML文本中所有超链接的href属性的值

 匹配超链接的正则表达式:<a(.+?)href\s*=\s*['"](.*?)['"](.*?)>

 var txt='<script href="a.js"/>'+'<a href="cost/list.do">链接
 1</a>'+'<a class="main" href="cost/add.do">链接2</a>';
 var regExp=/<a(.+?)href\s*=\s*"(.*?)"(.*?)>/ig       //查找,不用完
 整匹配
 var arr=[];
 while((arr=regExp.exec(txt))!=null){
 console.log(arr[0]);
 }


 查找功能中,正则表达式后面要加g,否则始终都是在第一个上面查找,形成
 死循环。


 从正则表达式匹配的内容中,取出一部分:RegExp.$n
 $n:指正则表达式中的第几个分组,其实就是第几个圆括号
 强调:正则表示的分组是从1开始,如上述例子中取第二个里面的元素:
 console.log(RegExp.$2);
 必须通过RegExp类型,直接调用$n,不能使用对象

 用于模式匹配的String方法
 所有模式匹配的API都支持正则表达式

 String对象与正则表达式:
 str=str.replace(/no/ig,"替换值")
 var arr=str.match(/正则表达式/ig)
 sr.search()
 str.split(/正则表达式/)

 例:
 var str="那天,我去了她家。我说,我草";
 str=str.replace(/我[去草]/g,"**");
 document.write(str);

 例:
 var txt='<script href="a.js"/>'+'<a href="cost/list.do">链接
 1</a>'+'<a class="main" href="cost/add.do">链接2</a>';
 var regExp=/<a(.+?)href\s*=\s*"(.*?)"(.*?)>/ig       //查找,不用完
 整匹配
 var arr=txt.match(regExp);
 console.log(arr);

 例:
 var str="no zuo no die";
 var words=str.split(" ");
 for(var i=0;i<words.length;i++){
  var first=words[i][0].toUpperCase();
  words[i]=first+words[i].substring(1);
 }
 document.write(words.join(" "));


 上述例子中如果单词间空格数超过1个,就会返回错误
 var str="no zuo no die";
 var words=str.split(/\s+/);
 for(var i=0;i<words.length;i++){
  var first=words[i][0].toUpperCase();
  words[i]=first+words[i].substring(1);
 }
 document.write(words.join(" "));


 trim功能:去除字符串开始和结尾的空格,中间空格不去掉。对输入字符串的
 处理,多数要先清除开头和结尾空格,再处理


 判断验证码是否正确(去除一个字符串开头和结尾的开头空格字符):
 var code="4A7b";
 while(true){
   var input=prompt("输入验证码");
   input=input.trim();
   if(input.toLowerCase()==code.toLowerCase()){
     document.write("登录成功");
     break;
   }else{
     alert("验证码错误");
    }
 }

 trim功能在IE8不支持!下面是在IE8中的代码:
 function trim(str){
 //使用正则表达式替换开头和结尾的空字符
 var regExp=/(^\s+)|(\s+$)/g;
 str=str.replace(regExp,"");
 return str;
 }
 var code="4A7b";
 while(true){
   var input=prompt("输入验证码");
   input=trim(input);
   if(input.toLowerCase()==code.toLowerCase()){
     document.write("登录成功");
     break;
   }else{
     alert("验证码错误");
    }
 }



 String总结:多有API都无法修改原字符串,都会返回新字符串。所有
 StringAPI都需要用变量保存结果!
 str.length  字符个数
 str.toLowerCase()/toUpperCase()

 查找关键字:
 var index=str.indexOf("关键字"[,from]])  -->[]里面是可选的
 var arr=str.match(/正则表达式/g)         

 获得字符串:
 var substr=str.slice(start,end+1);    -->数组里面方法
            str.substring(start,end+1);   --》正则表达式
            str.substr(start,count);

 替换:
 str=str.replace(/正则表达式/g,"替换值");

 获得指定位置的字符:
 var char=str.charAt(index)
          str[index]

 字符编码解码:
 var code=str.charCodeAt(index);
 var char=String.fromCharCode(code);


 RegExp对象总结:
 var reg=/正则表达式/ig;
 var reg=new RegExp("正则表达式",ig);其中所有的\都要改为\\
 验证str中是否包含reg匹配的关键字:var boolean=reg.test(str);
 强调:完整验证或完整替换,都需要在正则表达式前加^后加$while
 ((arr=reg.exec(str)
 )!=null){
 arr[0]}  -->找到的一个关键字
 arr.index -->当前关键字的位置
 }

 RegExp.$n:获得正则表达式中第n个分组(圆括号)匹配的子字符串


 Math类型:封装了所有跟数学计算有关的API
 不能new,即不能实例化得创建对象

 Math.PI

 Math.round(num)-->四舍五入取整
 Math.ceil(num)-->向上取整
 Math.floor(num)-->向下取整

 var n=22.56;
 Math.round(n) -->23
 Math.ceil(n) -->23
 Math.floor(n)  -->22


 Math.pow(底数,幂):n次方
 Math.sqrt(num):平方根
 Math.abs(num):取绝对值

 var n=9;
 Math.pow(n,3);
 Math


 Math.min/max(值1,值2,...)判断最大值和最小值

 例:
 var s1=75;
 var s2=90;
 var s3=80;
 var arr=[2,4,1,7,6,3,9,8];
 console.log(Math.max(s1,s2,s3));  //判断几个值得最大值
 var max=Math.max.apply(Math,arr);  //从数组arr中调用Math方法求最大值
 console.log(max);

 取数组中的最大值:var max=Math.max.apply(Math,arr)


 随机数:Math.random():0<=r<1
 任意min-max:Math.floor(Math.random()*(max-min+1)+min)

 随机生成一个四位的随机验证码字符串:
 step1:将所有字母,数字装入一个数组备用
 var codes=[];
 for(var i=48;i<=57;codes.push(i),i++);  //数字
 for(var i=65;i<=90;codes.push(i),i++);  //大写字母
 for(var i=97;i<=122;codes.push(i),i++);  //小写字母
 //数组中现在有62个元素,取下标0-61之间的随机数4个
 var arr=[];
 for(var i=0;i<4;i++){
 var index=Math.floor(Math.random()*(61-0+1)+0);
 var char=String.fromCharCode(codes[index]);
 arr.push(char);
 }
 console.log(arr);
 var code=arr.join("");
 document.write("验证码:"+code);

 使用方法来实现完整功能:
 var codes=[];
 for(var i=48;i<=57;codes.push(i),i++);  //数字
 for(var i=65;i<=90;codes.push(i),i++);  //大写字母
 for(var i=97;i<=122;codes.push(i),i++);  //小写字母
 //数组中现在有62个元素,取下标0-61之间的随机数4个
 function getCode(){
 var arr=[];
 for(var i=0;i<4;i++){
 var index=Math.floor(Math.random()*(61-0+1)+0);
 var char=String.fromCharCode(codes[index]);
 arr.push(char);
 }
 return arr.join("");
 }
 function trim(str){
 var reg=/(\s+)|(\s+$)/g;
 return str.replace(reg,"");
 }
 while(true){
 var code=getCode();
 var input=prompt("输入验证码:"+code);
 input=trim(input);
 if(input.toLowerCase()==code.toLowerCase()){
 document.write("登录成功");
 break;
 }else{
 alert("验证码错误!");
 }
 }

 先用正则表达式来进行格式验证,再进行内容处理,修改方案:
 var codes=[];
 for(var i=48;i<=57;codes.push(i),i++);  //数字
 for(var i=65;i<=90;codes.push(i),i++);  //大写字母
 for(var i=97;i<=122;codes.push(i),i++);  //小写字母
 //数组中现在有62个元素,取下标0-61之间的随机数4个
 function getCode(){
 var arr=[];
 for(var i=0;i<4;i++){
 var index=Math.floor(Math.random()*(61-0+1)+0);
 var char=String.fromCharCode(codes[index]);
 arr.push(char);
 }
 return arr.join("");
 }
 function trim(str){
 var reg=/(\s+)|(\s+$)/g;
 return str.replace(reg,"");
 }
 while(true){
 var code=getCode();
 var input=prompt("输入验证码:"+code);
 input=trim(input);
 var reg=/[a-zA-Z0-9]{4}/;
 if(reg.test(input)){
 if(input.toLowerCase()==code.toLowerCase()){
 document.write("登录成功");
 break;
 }else{
 alert("验证码错误!");
 }
 }else{
 alert("验证码格式错误");
 }
 }


 Data对象:封装一个时间点数据,提供对时间、日期的常用API。
 创建:var date=new Date();
 1.创建Date类型的对象;2. 自动获得浏览器当前时间点

 自定义时间:var date=new Date("2015-6-9 16:47")
 1.创建Date类型的对象;2.自定义一个具体时间点

 Date对象中,保存的是从1970年1月1日 0:00:00到现在的毫秒数!!!!
 var date=new Date(0);相当于1970年1月1日 0:00:00  (国际标准时间,不
 是北京时间)
 var date=new Date(24*60*60*1000);1970年1月2日 0:00:00

 例:
 var d1=new Date(0);
 console.log("原始时间:"+d1);
 var now=new Date();
 console.log("当前时间:"+now);
 var birth=new Date("1991-1-2");
 console.log("出生日期"+birth);
 var ms=now-birth;
 var days=ms/24/60/60/1000;    //计算活了多少天
 console.log("活了多少天:"+days);
 var age=now.getFullYear()-birth.getFullYear();//计算年龄
 console.log("年龄:"+age);
 var minutes=30-now.getMinutes();
 console.log("距离下课几分钟:"+minutes);
 birth.setFullYear(2017);      //set方法会直接修改原日期
 var days=(birth-now)/24/60/60/1000;
 console.log("距离生日还有"+days+"天");
 var month=now.getMonth();  //返回值是当前月-1,因为月份是从0开始,到
 11结束,因此需要在值后面加1才是当前月份
 console.log("上月月份:"+month);
 var month=now.getMonth()+1;
 console.log("当前月份:"+month);
 var day=now.getDay();
 console.log("今天星期几"+day);  //返回星期,星期日的值是0,星期一是1
 ,以此类推
 var next=now+5*60*10000;
 console.log("5分钟后时间"+next);  //不能直接相加,返回的结果不对的.
 结果并未加上,需要调用date.getTime()De得到时间毫秒数
 var nowMs=now.getTime()      //返回时间毫秒数
  var nextMs=nowMs+5*60*1000;  //毫秒数做加减,5分钟以后的时间
  var next=new Date(nextMs);   //将得到的毫秒数封装
 console.log("5分钟后时间"+next);



 API:
 1.每个分量都有一对get/set方法,用来获取/设置该分量的值
 2.命名:年/月/日:没有s
         时/分/秒:有s

 set方法会直接修改原日期
 3.从取值或者赋值来说,除了每月中的日之外,其余都是从0开始,到-1结束
 。
 每月中的日,从1开始,到31结束
 月份:取值时,+1修正;赋值时,-1修正。
 星期:从星期日到开始到星期六结束,值从0~6

 日期计算:两日期对象相减,得到毫秒数
 时间做+:var nowMs=now.getTime()      //返回时间毫秒数
  var nextMs=nowMs+5*60*1000;  //毫秒数做加减,5分钟以后的时间
  var next=new Date(nextMs);   //将得到的毫秒数封装
 console.log("5分钟后时间"+next);
 使用毫秒做计算,不改变原时间对象,需要重新封装时间对象。
 上述对象加减封装的方法,是有限制的,最大仅能算到“天数”,再算“月数
 ”,无法确定每月天数。
JavaScript:基础知识 Let 和 const:这些是在 2015 年引入的。如果你想更改变量的值,请使用 Let。如果您不想更改值,请使用 Const。JavaScript 中的每个数据都有一个类型。例如,数字是数字类型,文本是字符串类型。关注我的博客,您将在其中获得提示、技巧和挑战,以保持您的技能敏锐。Var:var 是声明变量的旧方法。Var、let和const有不同的用例。5.Undefined:尚未赋值的数据值。1.String:表示基于文本的数据。3.BigInt:表示任意长度的整数。6.Null:代表未知值。 阅读详情

相关推荐

JavaScript学习笔记之总结与回顾(学习JavaScript基础知识看这一篇就够了,文章总字数2.8万)

学习JavaScript基础知识看这一篇就够了,文章总字数2.8万。涵盖基础知识变量、常量,流程控制之条件判断与循环,函数、数组、对象、面向对象、字符串、正则表达式、内置对象等等内容。

m0_63165331的博客 1899

js小知识

1.显示系统时间 $(function(){   newTime();   setInterval("newTime()",1000);  }) function newTime(){   var today=new Date();   var y=today.getFullYear();   var mo = today.getMonth() + 1;   var d = to

chinasoftosg的专栏 386

Node.js入门:探索服务器端JavaScript的奥秘

本文是对《Node.js Handbook》的深入解读,涵盖了Node.js的安装、基本操作、命令行交互、模块与npm的使用、异步编程模式、网络编程及文件系统等核心内容。通过Flavio的指导,我们可以快速掌握Node.js的基础知识并应用于实际开发,从环境搭建到高级功能的使用,实现服务器端JavaScript的全面学习。

weixin_42591413的博客 333

tolowercase_Java字符类toLowerCase()方法的示例

tolowercase 人物类toLowerCase()方法 (Character class toLowerCase() method) toLowerCase() method is available in java.lang package. toLowerCase()方法在java.lang包中可用。 toLowerCase() method is used to return the ...

cumubi7552的博客 1466

第一次面试经历:集创北方数字IC前端面试(崩)总结

时间:2020年8月11日上午10点 公司:集创北方,做LED、LCD、OLED、AMOLED等显示器芯片的公司,应该主要是做显示驱动、图像处理、电源管理等这一块。 岗位:数字IC前端设计 城市:北京 形式:线上面试。感觉我俩是两个社畜,他说摄像头开不开都可以,我说那语音OK吗他说OK,于是直接语音问答。 项目经历:基于FPGA的车牌识别 & 先导存储器集成工艺开发(课题组) & 基于FPGA的贪吃蛇小游戏 反正是凉凉的,这时候准备还不足,前面都在复习项目没怎么刷过题。 过程如下: 自我介绍

coin的博客 6680

从稀疏表示到低秩表示(一)

确定研究方向后一直在狂补理论,最近看了一些文章,有了些想法,顺便也总结了representation系列的文章,由于我刚接触,可能会有些不足,愿大家共同指正。 从稀疏表示到低秩表示系列文章包括如下内容: 一、 sparse representation 二、 一、 sparse representation 1  sparsity  一个线性表示解决的问题如下图所示:

彼岸花 3万+

详解toLowerCase(判断字符串相等)

是一个在多个编程语言中都存在的字符串方法,它的作用是将字符串中的所有大写字母转换为对应的小写字母。常用于文本处理、搜索和比较等情况,以确保字符串的一致性和非大小写敏感的操作。

C_Small_Cai的博客 6288

toLowerCase()的用法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

tianfengqian的博客 2万+

WIN10环境下STK11.5(含Analyzer, EOIR, Scheduler插件)的安装与破解全攻略

本文提供了一份详细的WIN10环境下STK11.5软件及其核心插件(Analyzer, EOIR, Scheduler)的安装与破解全攻略。内容涵盖从安装包准备、系统环境检查,到基础版安装、插件部署、破解文件替换及许可证配置的完整步骤,并附有常见问题排错指南,旨在帮助用户免费搭建功能齐全的卫星仿真分析环境。

solidity8miner的博客 756

一篇NS SAR ADC的学习记录

一篇NS SAR ADC的学习记录 内容包含: OverSampling Noise Shaping Dynamic Amplifier DAC with Redundancy 最近看了些有意思的SAR ADC结构,但是因为确实对模拟这个领域不太熟,导致了一系列的级联查找,最终达到了一个大概能懂的状态,为了理清思路,顺便别让看了这么些天的东西浪费了,还是计划写篇文章。 ps:由于不是一篇特别正紧的报告,参考文献就写的比较随便,且我还是个做数字的 A 13.5-ENOB, 107-μW Noise-Sha

weixin_45669724的博客 8712

Java toLowerCase()/toUpperCase()方法的使用注意

文章出处:http://topic.csdn.net/u/20110828/09/f26c887b-7b41-49f0-a882-71d44750aa00.html?seed=1548072073&amp;r=75221759#r_75221759 在此感谢“天涯浪子”的分享 说明:如果大家写的代码涉汲到国际化的话,就看下去。如果想了解也可以看下去。 大家看下如下代码,我们在运行时...

suoyihen 2023

在 Eclipse 中接入 DeepSeek:开启 Java 开发新效率

DeepSeek 能够根据自然语言描述,精准生成高质量的 Java 代码片段。无论是简单的方法编写,比如 “编写一个 Java 方法,用于计算两个整数的乘积”,还是复杂的类和功能模块创建,例如 “创建一个 Java 类,实现文件的读写操作,并包含异常处理机制”,它都能快速给出合理且可运行的代码示例。DeepSeek 生成的代码不仅实现了基本功能,还遵循 Java 的编码规范,添加了必要的注释,让代码更易于理解和维护,大大节省了开发者从头编写代码的时间和精力。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4068

探索 V8.js.cn:V8 JavaScript 引擎的中文文档与学习资源库

探索 V8.js.cn:V8 JavaScript 引擎的中文文档与学习资源库 v8.js.cnV8 官方网站中文翻译项目地址:https://gitcode.com/gh_mirrors/v8j/v8.js.cn 是一个专门为开发者打造的,关于 Google 的高性能 JavaScript 和 WebAssembly 引擎——V8 的中文文档与学习平台。这个项目旨在帮助中国的开发者更轻松地理解...

gitblog_00062的博客 831

nRF52832——大量数据传输时导致蓝牙断开连接,且无法被搜索到的解决方案(广播参数的设置、程序设计方法)

有时蓝牙通信单次发送数据量较大,且连续发送多次的时候,你会发现蓝牙就会出现异常,可能运行30min,40min,或者1h后,蓝牙就不能传输数据了,且无法被搜索到,用主机扫描蓝牙时可能会提示类似这样的DEBUG信息:bta_gattc_mark_bg_conn unable to find the bg connection mask for bd_addr=xx:xx:xx:xx:xx:xx。

数字世界 万物互联 2005

Agent Harness Engineering: AI Agent 执行管控与安全沙箱 原理与最佳实践

我们正站在计算范式转移的历史节点上。2024-2026 年间,AI 系统从被动的内容生成器(Generative AI)演变为主动的行动执行者(Agentic AI)。这一转变的根本特征是:根据 2026 年初的行业数据:然而,能力的提升伴随着风险的指数级增长。2024-2026 年间发生的多起标志性安全事件揭示了 Agent 系统的脆弱性:案例 1:Slack AI 数据外泄事件(2024 年 8 月)案例 2:制造业供应链攻击(2026 年 Q3)案例 3:Arup 深度诈骗案(2026 年 9 月)这

AI天才研究院 1669

JavaScript基础知识整理8

浏览器对象 JavaScript可以获取浏览器提供的很多对象,并进行操作。 window window对象不但充当全局作用域,而且表示浏览器窗口。 window对象有innerWidth和innerHeight属性,可以获取浏览器窗口的内部宽度和高度。内部宽高是指除去菜单栏、工具栏、边框等占位元素后,用于显示网页的净宽高。 兼容性:IE<=8不支持。 'use strict';...

weixin_37328901的博客 156

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

HTML基础知识笔记JS篇8

HTML基础知识笔记JS篇8 正则表达式 <button id="btn">我是一个按钮</button> /* * 浏览器已经为我们提供 文档节点 对象这个对象是window属性 * 可以在页面中直接使用,文档节点代表的是整个网页 */ //console.log(document); //获取到button对象 var...

weixin_45598486的博客 169

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Js基础_初识JavaScript

文章目录一、JavaScript是什么?二、Js作用三、浏览器执行Js 一、JavaScript是什么? 是一种运行在客户端的脚本语言(不需要编译,运行过程中由解释器逐行来进行解释执行) Node.js可以进行服务端编程 二、Js作用 1.表单动态校验(密码强度检测) 2.网页特效 3.服务端开发(Node.js) 4.左面程序(Electron) 5.App/小程序(Cordova) 6.控制硬件-物联网(Ruff) 7.游戏开发(cocos2d-js) 三、浏览器执行Js 浏览器分为两个部分 渲染引擎

认真,努力,记录学习 7384

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

新手学习node.js基础,node.js安装过程,node.js运行环境及javascript运行环境.

新手学习node.js基础,node.js安装过程及node.js运行环境和javascript运行环境

桃桃雾的博客 1309

JS逆向需要掌握的JS基础知识与前端知识

本文将会把我平时在JS逆向中遇到的一些JS基础知识和遇到的问题写在这里。 JS逆向需要掌握JS基础知识webpackJS逆向中常见的window.webpackJsonp分析基础语法声明时用"var"与不用"var"的区别变量提升赋值操作 webpack JS逆向中常见的window.webpackJsonp分析 文章链接:https://blog.csdn.net/Xzike/article/details/123874734 基础语法 声明时用"var"与不用"var"的区别 参考文章链接: https

Xzike的博客 3828

通过javascript进行unicode 与 UTF-8编码

javascript的字符集: javascript程序是使用Unicode字符集编写的。Unicode是ASCII和Latin-1的超集,并支持地球上几乎所有的语言。ECMAScript3要求JavaScript必须支持Unicode2.1及后续版本,ECMAScript5则要求支持Unicode3及后续版本。所以,我们编写出来的javascript程序,都是使用Unicode编码的。 UTF-8 UTF-8(UTF8-bit Unicode Transformation Format)是一种针对Uni.

老夫风清扬的博客 2050

javascript知识详解之8张思维导图

学习的道路就是要不断的总结归纳,好记性不如烂笔头,so,下面将po出8张javascript相关的思维导图。 思维导图小tips:思维导图又叫心智图,是表达发射性思维的有效的图形思维工具 ,它简单却又极其有效,是一种革命性的思维工具。思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像、颜色等建立记忆链接,思维导图充分运用左右脑的机能,利用

小平果的欢乐谷 1083

JavaScript 引擎——Chrome V8 引擎入门

https://developers.google.com/v8/intro   本文内容 介绍 关于 V8 引擎 V8 引擎入门 参考资料   介绍 V8 是 Google 开源的、高性能的 JavaScript 引擎。V8 是由 C++ 编写,并用在 Google 开源浏览器 Chrome 中。 Google 的 V8 项目旨在帮助那些 C ...

weixin_34072159的博客 927

js html utf8编码转换,js中的UTF-8编码与解码

讲解之前我们先了解一些基本概念,什么是字符集?字符集就像一张表,这个表里面有很多的符号,每个符号都可以通过下标(这个符号在表的中的序号)对应到,有点类似js中的map,例如97这个下标代表的就是符号a。当然,字符集是有很多种,最常见的就是ASCII字符集了,还有中文的GB2312字符集,每个字符集其实就是一张表,上面有各种符号,然后通过下标和它们对应。当然,最全的,包含所有符号的字符集是Unico...

weixin_39818550的博客 2227
上一篇: JavaScript基础知识(7)
下一篇: JavaScript基础知识(9)
敲代码的猫
博客等级 码龄10年 70粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值