一文带你解读​JavaScript的引用类型和函数对象

前言

相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。

1.引用类型

相当于Java中的类创建实例过程,比如我要创建个对象,可以这样做:

var ob = new Object();

其实它就是把JavaScript中的数据类型转换为Java中的类来进行操作。

2.函数对象

1).Arguments对象

这是个神奇的对象,无需指明参数就可以访问它,它无处不在,用好了将极大的提高你的工作效率。比如它可以检查函数中有多少个参数:

function aa() {
  console.log(arguments.length);
}


aa("fsdaf",324,42.434,'42342asff');
一文带你解读​JavaScript的引用类型和函数对象

2).Function对象

它可以十分方便的创建函数,并且有多种方法创建函数。

1)).对象实例化创建

var ff= new function(name,age,score,表达式)

2)). 函数关键字创建

function aa() {
  alert(111);
}
function aa(bb,cc) {
  alert(bb,cc);
}

Function有一个Length属性用来计算长度:

function aa() {
  alert(111);
}
aa.length

3).Constructor属性

看到这个长长的东西是不是感到特别陌生,它就是我们的构造函数,我们可以对此判断当前实例是否属于对象。

var aa=new Array()
if(aa.constructor==Array){
    console.log(11)
}
else{
    console.log(22)
}

4).Prototype属性

指对象的原型参数,实例化后的对象是没有Prototype属性的,只有对象本身才有这个属性。利用该属性创建的变量名和值并没有加入到实例对象中,只是创建了,如果你想访问它,可以使用:实例名.constructor.prototype来进行访问。

一文带你解读​JavaScript的引用类型和函数对象

一文带你解读​JavaScript的引用类型和函数对象

从上面可以看出,数组的实例化对象可以创建任意变量并且赋值,但是它的原型却不行,如果是数组本身那么就又可以了。而且要想访问原型的构造函数还得是对象本身,最后得到的结果也就是对象本身。可见虽然原型和构造函数换了个位置,但是意义完全不一样。

5).This 对象

其实就相当于Java中的This,Python 中的Self,可以看出它的重要性,无非就是指向一个实例对象。

一文带你解读​JavaScript的引用类型和函数对象

3.闭包

其实就是嵌套函数。

var aa= 10;
function s(cc,bb) {
  function sa() {
    return cc+bb;
  }
  return sa();
}

总结

这篇文章主要结束了JavaScript的引用类型、函数对象和闭包,下一篇文章继续给大家分享JavaScript知识,敬请期待!

一文带你解读​JavaScript的基本用法

前言

相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。

JavaScript的基本用法

1.如何使用Js脚本

1).引入Js文件

在头部标签中导入脚本标签并指明脚本文件路径

<head><script src="XXX.js"></script></head>

2).标签中使用

<body><script >javascript 语句</script></body>
<head><script >javascript 语句</script></head>

2.数据类型

JavaScript的数据类型分为:

string
number
boolean
array
object
null
undefined

3.注释

1).单行注释

以“//”开头,后面接注释语句,只能注释一行

2).多行注释

/* 注释语句,可注释多行 */

4.特殊符号

\n 换行
\t 制表符 
\b 空格 
\r 回车 
\f 换页符
\\ 反斜杠 
\' 单引号
\" 双引号
\0 x 八进制代码x表示的字符(n是0到7中的一个八进制数字)
\x x 十六进制代码x表示的字符(n是0到F 中的一个十六进制数字)
\u x 十六进制代码x表示的Unicode字符(n是0到F 中的一个十六进制数字)

5.变量声明

1).Var声明

var ss='fsdf'  外部声明的变量可在全局使用
var ss        也可以不声明值,也不会产生错误,唯一的遗憾是会产生变量提升

2).Const 声明

const ss=123   不存在变量提升,可生成块级作用域 ,常用于声明常量,声明后必须赋值

3).Let 声明

let ss=123   不存在变量提升,可生成块级作用域,常用于声明变量,

6.控制结构语句

1).If ……Else

var aa=12
if(aa>3){console.log(1)}
else{alert(1)}

可以看出与我们的Python语句略有不同。

2).Do…..While

var i=1
do
 {
 i++;
 console.log(i);
 }
while(i<5)

3).While

var i=1
while(i<5){
    i++;
    console.log(i)
}

4).For

for(let i=1;i<6;i++){
    console.log(i)
}

5).For….In…

#打印了document对象的所有方法
    for(y in document)
        {
            console.log(y)
        }

6.Break、Continue

break    立即终止循环
continue 退出当前循环进入下一个循环

7).标签语句

指的是标签后面的语句可由判断结果自行决定什么时候结束

var i=0
label:while(i<10){
    i++;
    if(i==5){
        break label;
}
    else{
        console.log(i)
}
}

8).With语句

相当于Python中的上下文管理器

var aa='fasdffsa'
        with(aa){
            console.log(aa)
        }

9).Switch语句

var aa=[1,2,3]
    switch(aa){
        case 1:console.log(1);
        break;
        case 2:console.log(2);
        break;
        case 3:console.log(3);
        break;
        default:console.log('fas');
}

10).For….of

for(let val of iterable){
console.log(val)
}

11).For each ….. in

var sum = 0;
var obj = {prop1: 5, prop2: 13, prop3: 8};
for each (var item in obj) {
  sum += item;
}
print(sum); // 输出"26",也就是5+13+8的值




obj.forEach(function(val,item,array){
      array[item]=val
})

总结

这篇文章主要结束了JavaScript的导入、数据类型、注释、变量和控制语句。下一篇文章,我们继续介绍JavaScript,敬请期待!

盘点JavaScript中5个常用的对象

大家好,我是IT共享者,人称皮皮。

前言

相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。

JavaScript对象

在JavaScript中有许多有用的对象,它们可以用来实现很多功能,除了我们之前接触到的,还有以下几种:

Date   日期
RegExp 正则
Error  错误

接下来我们就来具体了解下它们都有哪些用处:

1).Array对象

它就是我们熟知的数组对象了,它可以储存许多值并用下标访问,常见操作如下:

盘点JavaScript中5个常用的对象

2).Boolean对象

返回该对象的源代码。
b.toSource()




把逻辑值转换为字符串,并返回结果。
b.toString()




返回 Boolean 对象的原始值。
b.valueOf()

3).Date对象

这个对象主要对时间的操作,我们可以通过这个对象获取并且设置时间,如图:

盘点JavaScript中5个常用的对象

3).Math对象

这个对象就好比我们Python中的数学模块中的方法一样,两者了解一样即可,如图:

盘点JavaScript中5个常用的对象

4).Number对象

主要就是数字对象的一些操作,比较简单,方法不多,如图:

盘点JavaScript中5个常用的对象

5).String对象

主要是对字符串对象进行操作,比如字符串拼接,分割等,这是我们比较常用的对象,它的用法如下:

盘点JavaScript中5个常用的对象

总结

这篇文章主要介绍了JavaScript的对象知识。下一篇文章,我们继续介绍JavaScript,敬请期待!

一篇文章带你轻松获取女神家庭住址

前言

步入21世纪,我们的日常生活发生了巨大的改变,手机和电脑支配着我们的日常,不知不觉中,网聊开始慢慢逐渐兴起以致于现在成为大势所趋,我们在网上聊天经常会看到一些美女,但是我们一般问别人家庭住址的话肯定是不合适的,因为这会让别人觉得你这个人是不是有病,或者是犯罪分子;于是我们可以另辟蹊径,选择一种稳妥的方式来进行。

一、与女神开始对话

这是你要进行的第一步,如果你连和别人对话的机会都没有,那你基本没希望,如下:

首先要和别人联系,当好友间建立联系后,你就会和它建立网络连接,这个时候会发送和接收大量数据包,而且也会有各种协议,比如TCP UDP ICMP等,但是我们要拿的是TCP,只有知道了TCP你才能知道好友的设备的真正的IP地址,这样才可以准确获取到她的地理位置。

二、获取IP

1.使用系统任务管理器中的监视器

这里我们需要打开资源监视器,如下:

然后只监视QQ的网络信息,如下:

勾选好了后,我们给女神发送一个字节稍微大点的消息,比如图片,那就截个图吧,如下:

这个时候就得到了一些IP地址,满心欢喜的以为其中一个就是好友的设备所处的IP。结果都试了并不是,大失所望。其实这些都是虚假地址。

2.使用系统任务管理器中的监视器

再来看看使用咱们的CMD,我们来使用一个命令”netstat“,这个命令可以监听TCP和UDP的连接,下面来看看:

这里我们再次打开一个窗口,获取当前的网络连接,这里可以获取全部网络连接:

但是我们只需要TCP连接,所以在后面加个 ”-t“即可。

三、使用火绒剑

前两者的方法放在以前是可以获取到QQ好友的IP的,但是现在不行了,于是小编找到了一种好的方法,使用火绒剑安全软件辅助来查找到QQ好友IP。这里我们进入火绒官网,下载火绒剑安全软件。如下:

打开火绒安全,选择安全工具,如下:

点击火绒剑,如下:

这里我们设置监听QQ连接的相关功能,首先找到QQ进程,如下:

设置过滤条件,如下:

设置好后,和女神发语音,开启监控,如下:

下面的111开头的就是女神的真实IP,然后到网上一查,如下:

其实这个数据还是很准的,因为小编用的是大号和小号进行语音通话的,而且这个IP的确就是本人的外网IP,故该种获取IP方法很可靠。

四、总结

小编想在这里提醒大家的是,虽然该种方法可以获取IP,但是不要做坏事哦。